lakutata
Version:
An IoC-based universal application framework.
1,509 lines (1,356 loc) • 1.67 MB
JavaScript
"use strict";
const tslib_es6 = require("./Package.1.cjs");
const Provider = require("../src/lib/core/Provider.cjs");
const Configurable = require("../src/decorators/di/Configurable.cjs");
const ObjectSchemaValidation = require("./Package.2.cjs");
const _commonjsHelpers = require("./Package.5.cjs");
require("./Package.8.cjs");
const require$$0$9 = require("querystring");
const require$$0 = require("https");
const require$$1$1 = require("http");
require("./Package.11.cjs");
const require$$4$1 = require("url");
const require$$0$6 = require("net");
const require$$4$2 = require("child_process");
require("./Package.15.cjs");
require("./Package.18.cjs");
require("./Package.14.cjs");
const require$$0$1 = require("buffer");
const require$$0$2 = require("assert");
const _commonjsDynamicModules = require("./Package.7.cjs");
const require$$0$3 = require("crypto");
const require$$0$4 = require("path");
const require$$0$5 = require("fs");
const require$$0$7 = require("stream");
const require$$2$1 = require("tls");
const require$$2 = require("dns");
require("./Package.10.cjs");
const require$$4$3 = require("zlib");
const require$$1$2 = require("util");
const require$$0$8 = require("events");
const index$l = require("./Package.62.cjs");
const Logger = require("./Package.17.cjs");
const require$$1$3 = require("os");
require("./Package.20.cjs");
const require$$1$4 = require("constants");
const require$$1$5 = require("string_decoder");
const require$$1$6 = require("process");
const require$$0$a = require("http2");
const Lifetime = require("../src/decorators/di/Lifetime.cjs");
const ContainerTTYConsoleSizeOptions = require("../src/components/docker/options/container/ContainerTTYConsoleSizeOptions.cjs");
const Accept = require("../src/decorators/dto/Accept.cjs");
const As = require("../src/lib/helpers/As.cjs");
const Inject = require("../src/decorators/di/Inject.cjs");
const _interopDefault = e => e && e.__esModule ? e : {
default: e
};
const require$$0__default$9 = _interopDefault(require$$0$9);
const require$$0__default = _interopDefault(require$$0);
const require$$1__default = _interopDefault(require$$1$1);
const require$$4__default = _interopDefault(require$$4$1);
const require$$0__default$6 = _interopDefault(require$$0$6);
const require$$4__default$1 = _interopDefault(require$$4$2);
const require$$0__default$1 = _interopDefault(require$$0$1);
const require$$0__default$2 = _interopDefault(require$$0$2);
const require$$0__default$3 = _interopDefault(require$$0$3);
const require$$0__default$4 = _interopDefault(require$$0$4);
const require$$0__default$5 = _interopDefault(require$$0$5);
const require$$0__default$7 = _interopDefault(require$$0$7);
const require$$2__default$1 = _interopDefault(require$$2$1);
const require$$2__default = _interopDefault(require$$2);
const require$$4__default$2 = _interopDefault(require$$4$3);
const require$$1__default$1 = _interopDefault(require$$1$2);
const require$$0__default$8 = _interopDefault(require$$0$8);
const require$$1__default$2 = _interopDefault(require$$1$3);
const require$$1__default$3 = _interopDefault(require$$1$4);
const require$$1__default$4 = _interopDefault(require$$1$5);
const require$$1__default$5 = _interopDefault(require$$1$6);
const require$$0__default$a = _interopDefault(require$$0$a);
var http$5 = {
exports: {}
};
var utils$4 = {};
var arr = [];
var each = arr.forEach;
var slice = arr.slice;
var extend$2 = utils$4.extend = function(e) {
each.call(slice.call(arguments, 1), (function(t) {
if (t) {
for (var r in t) {
e[r] = t[r];
}
}
}));
return e;
};
var parseJSON = utils$4.parseJSON = function(e) {
try {
return JSON.parse(e);
} catch (e) {
return null;
}
};
var http$3 = http$5.exports;
(function(e, t) {
var r = require$$0__default.default, n = require$$1__default.default, s = require$$4__default.default, o = utils$4;
var a = e.exports.maxRedirects = 5;
var l = {
https: r,
http: n
};
for (var c in l) {
var u = function() {};
u.prototype = l[c];
u = new u;
u.request = function(r) {
return function(n, a, l) {
l = l || {};
var u = typeof n === "object" && "maxRedirects" in n ? n.maxRedirects : t.maxRedirects;
var d = o.extend({
count: 0,
max: u,
clientRequest: null,
userCallback: a
}, l);
if (d.count > d.max) {
var h = new Error("Max redirects exceeded. To allow more redirects, pass options.maxRedirects property.");
d.clientRequest.emit("error", h);
return d.clientRequest;
}
d.count++;
var p;
if (typeof n === "string") {
p = n;
} else {
p = s.format(o.extend({
protocol: c
}, n));
}
var g = Object.getPrototypeOf(r).request(n, m(p, d));
if (!d.clientRequest) d.clientRequest = g;
function m(t, r) {
return function(n) {
if (n.statusCode < 300 || n.statusCode > 399) {
return r.userCallback(n);
}
if (!("location" in n.headers)) {
return r.userCallback(n);
}
var o = s.resolve(t, n.headers.location);
var a = s.parse(o).protocol;
a = a.substr(0, a.length - 1);
return e.exports[a].get(o, m(t, r), r);
};
}
return g;
};
}(u);
u.get = function(e) {
return function(t, r, n) {
var s = e.request(t, r, n);
s.end();
return s;
};
}(u);
e.exports[c] = u;
}
})(http$5, http$5.exports);
var httpExports = http$5.exports;
const http$4 = _commonjsHelpers.getDefaultExportFromCjs(httpExports);
var ber$1 = {
exports: {}
};
var errors$3 = {
newInvalidAsn1Error: function(e) {
var t = new Error;
t.name = "InvalidAsn1Error";
t.message = e || "";
return t;
}
};
const errors$4 = _commonjsHelpers.getDefaultExportFromCjs(errors$3);
var types$3 = {
EOC: 0,
Boolean: 1,
Integer: 2,
BitString: 3,
OctetString: 4,
Null: 5,
OID: 6,
ObjectDescriptor: 7,
External: 8,
Real: 9,
Enumeration: 10,
PDV: 11,
Utf8String: 12,
RelativeOID: 13,
Sequence: 16,
Set: 17,
NumericString: 18,
PrintableString: 19,
T61String: 20,
VideotexString: 21,
IA5String: 22,
UTCTime: 23,
GeneralizedTime: 24,
GraphicString: 25,
VisibleString: 26,
GeneralString: 28,
UniversalString: 29,
CharacterString: 30,
BMPString: 31,
Constructor: 32,
Context: 128
};
const types$4 = _commonjsHelpers.getDefaultExportFromCjs(types$3);
"use strict";
var buffer = require$$0__default$1.default;
var Buffer$4 = buffer.Buffer;
var safer = {};
var key;
for (key in buffer) {
if (!buffer.hasOwnProperty(key)) continue;
if (key === "SlowBuffer" || key === "Buffer") continue;
safer[key] = buffer[key];
}
var Safer = safer.Buffer = {};
for (key in Buffer$4) {
if (!Buffer$4.hasOwnProperty(key)) continue;
if (key === "allocUnsafe" || key === "allocUnsafeSlow") continue;
Safer[key] = Buffer$4[key];
}
safer.Buffer.prototype = Buffer$4.prototype;
if (!Safer.from || Safer.from === Uint8Array.from) {
Safer.from = function(e, t, r) {
if (typeof e === "number") {
throw new TypeError('The "value" argument must not be of type number. Received type ' + typeof e);
}
if (e && typeof e.length === "undefined") {
throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof e);
}
return Buffer$4(e, t, r);
};
}
if (!Safer.alloc) {
Safer.alloc = function(e, t, r) {
if (typeof e !== "number") {
throw new TypeError('The "size" argument must be of type number. Received type ' + typeof e);
}
if (e < 0 || e >= 2 * (1 << 30)) {
throw new RangeError('The value "' + e + '" is invalid for option "size"');
}
var n = Buffer$4(e);
if (!t || t.length === 0) {
n.fill(0);
} else if (typeof r === "string") {
n.fill(t, r);
} else {
n.fill(t);
}
return n;
};
}
if (!safer.kStringMaxLength) {
try {
safer.kStringMaxLength = process.binding("buffer").kStringMaxLength;
} catch (e) {}
}
if (!safer.constants) {
safer.constants = {
MAX_LENGTH: safer.kMaxLength
};
if (safer.kStringMaxLength) {
safer.constants.MAX_STRING_LENGTH = safer.kStringMaxLength;
}
}
var safer_1 = safer;
const safer$1 = _commonjsHelpers.getDefaultExportFromCjs(safer_1);
var assert$2 = require$$0__default$2.default;
var Buffer$3 = safer_1.Buffer;
var ASN1$1 = types$3;
var errors$2 = errors$3;
var newInvalidAsn1Error$1 = errors$2.newInvalidAsn1Error;
function Reader$2(e) {
if (!e || !Buffer$3.isBuffer(e)) throw new TypeError("data must be a node Buffer");
this._buf = e;
this._size = e.length;
this._len = 0;
this._offset = 0;
}
Object.defineProperty(Reader$2.prototype, "length", {
enumerable: true,
get: function() {
return this._len;
}
});
Object.defineProperty(Reader$2.prototype, "offset", {
enumerable: true,
get: function() {
return this._offset;
}
});
Object.defineProperty(Reader$2.prototype, "remain", {
get: function() {
return this._size - this._offset;
}
});
Object.defineProperty(Reader$2.prototype, "buffer", {
get: function() {
return this._buf.slice(this._offset);
}
});
Reader$2.prototype.readByte = function(e) {
if (this._size - this._offset < 1) return null;
var t = this._buf[this._offset] & 255;
if (!e) this._offset += 1;
return t;
};
Reader$2.prototype.peek = function() {
return this.readByte(true);
};
Reader$2.prototype.readLength = function(e) {
if (e === undefined) e = this._offset;
if (e >= this._size) return null;
var t = this._buf[e++] & 255;
if (t === null) return null;
if ((t & 128) === 128) {
t &= 127;
if (t === 0) throw newInvalidAsn1Error$1("Indefinite length not supported");
if (t > 4) throw newInvalidAsn1Error$1("encoding too long");
if (this._size - e < t) return null;
this._len = 0;
for (var r = 0; r < t; r++) this._len = (this._len << 8) + (this._buf[e++] & 255);
} else {
this._len = t;
}
return e;
};
Reader$2.prototype.readSequence = function(e) {
var t = this.peek();
if (t === null) return null;
if (e !== undefined && e !== t) throw newInvalidAsn1Error$1("Expected 0x" + e.toString(16) + ": got 0x" + t.toString(16));
var r = this.readLength(this._offset + 1);
if (r === null) return null;
this._offset = r;
return t;
};
Reader$2.prototype.readInt = function() {
return this._readTag(ASN1$1.Integer);
};
Reader$2.prototype.readBoolean = function() {
return this._readTag(ASN1$1.Boolean) === 0 ? false : true;
};
Reader$2.prototype.readEnumeration = function() {
return this._readTag(ASN1$1.Enumeration);
};
Reader$2.prototype.readString = function(e, t) {
if (!e) e = ASN1$1.OctetString;
var r = this.peek();
if (r === null) return null;
if (r !== e) throw newInvalidAsn1Error$1("Expected 0x" + e.toString(16) + ": got 0x" + r.toString(16));
var n = this.readLength(this._offset + 1);
if (n === null) return null;
if (this.length > this._size - n) return null;
this._offset = n;
if (this.length === 0) return t ? Buffer$3.alloc(0) : "";
var s = this._buf.slice(this._offset, this._offset + this.length);
this._offset += this.length;
return t ? s : s.toString("utf8");
};
Reader$2.prototype.readOID = function(e) {
if (!e) e = ASN1$1.OID;
var t = this.readString(e, true);
if (t === null) return null;
var r = [];
var n = 0;
for (var s = 0; s < t.length; s++) {
var o = t[s] & 255;
n <<= 7;
n += o & 127;
if ((o & 128) === 0) {
r.push(n);
n = 0;
}
}
n = r.shift();
r.unshift(n % 40);
r.unshift(n / 40 >> 0);
return r.join(".");
};
Reader$2.prototype._readTag = function(e) {
assert$2.ok(e !== undefined);
var t = this.peek();
if (t === null) return null;
if (t !== e) throw newInvalidAsn1Error$1("Expected 0x" + e.toString(16) + ": got 0x" + t.toString(16));
var r = this.readLength(this._offset + 1);
if (r === null) return null;
if (this.length > 4) throw newInvalidAsn1Error$1("Integer too long: " + this.length);
if (this.length > this._size - r) return null;
this._offset = r;
var n = this._buf[this._offset];
var s = 0;
for (var o = 0; o < this.length; o++) {
s <<= 8;
s |= this._buf[this._offset++] & 255;
}
if ((n & 128) === 128 && o !== 4) s -= 1 << o * 8;
return s >> 0;
};
var reader$2 = Reader$2;
const reader$3 = _commonjsHelpers.getDefaultExportFromCjs(reader$2);
var assert$1 = require$$0__default$2.default;
var Buffer$2 = safer_1.Buffer;
var ASN1 = types$3;
var errors$1 = errors$3;
var newInvalidAsn1Error = errors$1.newInvalidAsn1Error;
var DEFAULT_OPTS = {
size: 1024,
growthFactor: 8
};
function merge(e, t) {
assert$1.ok(e);
assert$1.equal(typeof e, "object");
assert$1.ok(t);
assert$1.equal(typeof t, "object");
var r = Object.getOwnPropertyNames(e);
r.forEach((function(r) {
if (t[r]) return;
var n = Object.getOwnPropertyDescriptor(e, r);
Object.defineProperty(t, r, n);
}));
return t;
}
function Writer$2(e) {
e = merge(DEFAULT_OPTS, e || {});
this._buf = Buffer$2.alloc(e.size || 1024);
this._size = this._buf.length;
this._offset = 0;
this._options = e;
this._seq = [];
}
Object.defineProperty(Writer$2.prototype, "buffer", {
get: function() {
if (this._seq.length) throw newInvalidAsn1Error(this._seq.length + " unended sequence(s)");
return this._buf.slice(0, this._offset);
}
});
Writer$2.prototype.writeByte = function(e) {
if (typeof e !== "number") throw new TypeError("argument must be a Number");
this._ensure(1);
this._buf[this._offset++] = e;
};
Writer$2.prototype.writeInt = function(e, t) {
if (typeof e !== "number") throw new TypeError("argument must be a Number");
if (typeof t !== "number") t = ASN1.Integer;
var r = 4;
while (((e & 4286578688) === 0 || (e & 4286578688) === 4286578688 >> 0) && r > 1) {
r--;
e <<= 8;
}
if (r > 4) throw newInvalidAsn1Error("BER ints cannot be > 0xffffffff");
this._ensure(2 + r);
this._buf[this._offset++] = t;
this._buf[this._offset++] = r;
while (r-- > 0) {
this._buf[this._offset++] = (e & 4278190080) >>> 24;
e <<= 8;
}
};
Writer$2.prototype.writeNull = function() {
this.writeByte(ASN1.Null);
this.writeByte(0);
};
Writer$2.prototype.writeEnumeration = function(e, t) {
if (typeof e !== "number") throw new TypeError("argument must be a Number");
if (typeof t !== "number") t = ASN1.Enumeration;
return this.writeInt(e, t);
};
Writer$2.prototype.writeBoolean = function(e, t) {
if (typeof e !== "boolean") throw new TypeError("argument must be a Boolean");
if (typeof t !== "number") t = ASN1.Boolean;
this._ensure(3);
this._buf[this._offset++] = t;
this._buf[this._offset++] = 1;
this._buf[this._offset++] = e ? 255 : 0;
};
Writer$2.prototype.writeString = function(e, t) {
if (typeof e !== "string") throw new TypeError("argument must be a string (was: " + typeof e + ")");
if (typeof t !== "number") t = ASN1.OctetString;
var r = Buffer$2.byteLength(e);
this.writeByte(t);
this.writeLength(r);
if (r) {
this._ensure(r);
this._buf.write(e, this._offset);
this._offset += r;
}
};
Writer$2.prototype.writeBuffer = function(e, t) {
if (typeof t !== "number") throw new TypeError("tag must be a number");
if (!Buffer$2.isBuffer(e)) throw new TypeError("argument must be a buffer");
this.writeByte(t);
this.writeLength(e.length);
this._ensure(e.length);
e.copy(this._buf, this._offset, 0, e.length);
this._offset += e.length;
};
Writer$2.prototype.writeStringArray = function(e) {
if (!e instanceof Array) throw new TypeError("argument must be an Array[String]");
var t = this;
e.forEach((function(e) {
t.writeString(e);
}));
};
Writer$2.prototype.writeOID = function(e, t) {
if (typeof e !== "string") throw new TypeError("argument must be a string");
if (typeof t !== "number") t = ASN1.OID;
if (!/^([0-9]+\.){3,}[0-9]+$/.test(e)) throw new Error("argument is not a valid OID string");
function r(e, t) {
if (t < 128) {
e.push(t);
} else if (t < 16384) {
e.push(t >>> 7 | 128);
e.push(t & 127);
} else if (t < 2097152) {
e.push(t >>> 14 | 128);
e.push((t >>> 7 | 128) & 255);
e.push(t & 127);
} else if (t < 268435456) {
e.push(t >>> 21 | 128);
e.push((t >>> 14 | 128) & 255);
e.push((t >>> 7 | 128) & 255);
e.push(t & 127);
} else {
e.push((t >>> 28 | 128) & 255);
e.push((t >>> 21 | 128) & 255);
e.push((t >>> 14 | 128) & 255);
e.push((t >>> 7 | 128) & 255);
e.push(t & 127);
}
}
var n = e.split(".");
var s = [];
s.push(parseInt(n[0], 10) * 40 + parseInt(n[1], 10));
n.slice(2).forEach((function(e) {
r(s, parseInt(e, 10));
}));
var o = this;
this._ensure(2 + s.length);
this.writeByte(t);
this.writeLength(s.length);
s.forEach((function(e) {
o.writeByte(e);
}));
};
Writer$2.prototype.writeLength = function(e) {
if (typeof e !== "number") throw new TypeError("argument must be a Number");
this._ensure(4);
if (e <= 127) {
this._buf[this._offset++] = e;
} else if (e <= 255) {
this._buf[this._offset++] = 129;
this._buf[this._offset++] = e;
} else if (e <= 65535) {
this._buf[this._offset++] = 130;
this._buf[this._offset++] = e >> 8;
this._buf[this._offset++] = e;
} else if (e <= 16777215) {
this._buf[this._offset++] = 131;
this._buf[this._offset++] = e >> 16;
this._buf[this._offset++] = e >> 8;
this._buf[this._offset++] = e;
} else {
throw newInvalidAsn1Error("Length too long (> 4 bytes)");
}
};
Writer$2.prototype.startSequence = function(e) {
if (typeof e !== "number") e = ASN1.Sequence | ASN1.Constructor;
this.writeByte(e);
this._seq.push(this._offset);
this._ensure(3);
this._offset += 3;
};
Writer$2.prototype.endSequence = function() {
var e = this._seq.pop();
var t = e + 3;
var r = this._offset - t;
if (r <= 127) {
this._shift(t, r, -2);
this._buf[e] = r;
} else if (r <= 255) {
this._shift(t, r, -1);
this._buf[e] = 129;
this._buf[e + 1] = r;
} else if (r <= 65535) {
this._buf[e] = 130;
this._buf[e + 1] = r >> 8;
this._buf[e + 2] = r;
} else if (r <= 16777215) {
this._shift(t, r, 1);
this._buf[e] = 131;
this._buf[e + 1] = r >> 16;
this._buf[e + 2] = r >> 8;
this._buf[e + 3] = r;
} else {
throw newInvalidAsn1Error("Sequence too long");
}
};
Writer$2.prototype._shift = function(e, t, r) {
assert$1.ok(e !== undefined);
assert$1.ok(t !== undefined);
assert$1.ok(r);
this._buf.copy(this._buf, e + r, e, e + t);
this._offset += r;
};
Writer$2.prototype._ensure = function(e) {
assert$1.ok(e);
if (this._size - this._offset < e) {
var t = this._size * this._options.growthFactor;
if (t - this._offset < e) t += e;
var r = Buffer$2.alloc(t);
this._buf.copy(r, 0, 0, this._offset);
this._buf = r;
this._size = t;
}
};
var writer$2 = Writer$2;
const writer$3 = _commonjsHelpers.getDefaultExportFromCjs(writer$2);
var ber = ber$1.exports;
(function(e) {
var t = errors$3;
var r = types$3;
var n = reader$2;
var s = writer$2;
e.exports = {
Reader: n,
Writer: s
};
for (var o in r) {
if (r.hasOwnProperty(o)) e.exports[o] = r[o];
}
for (var a in t) {
if (t.hasOwnProperty(a)) e.exports[a] = t[a];
}
})(ber$1);
var berExports = ber$1.exports;
const index$k = _commonjsHelpers.getDefaultExportFromCjs(berExports);
var Ber$2 = berExports;
var lib$2 = {
Ber: Ber$2,
BerReader: Ber$2.Reader,
BerWriter: Ber$2.Writer
};
const index$j = _commonjsHelpers.getDefaultExportFromCjs(lib$2);
var naclFast$2 = {
exports: {}
};
var naclFast = naclFast$2.exports;
(function(e) {
(function(e) {
"use strict";
var t = function(e) {
var t, r = new Float64Array(16);
if (e) for (t = 0; t < e.length; t++) r[t] = e[t];
return r;
};
var r = function() {
throw new Error("no PRNG");
};
var n = new Uint8Array(16);
var s = new Uint8Array(32);
s[0] = 9;
var o = t(), a = t([ 1 ]), l = t([ 56129, 1 ]), c = t([ 30883, 4953, 19914, 30187, 55467, 16705, 2637, 112, 59544, 30585, 16505, 36039, 65139, 11119, 27886, 20995 ]), u = t([ 61785, 9906, 39828, 60374, 45398, 33411, 5274, 224, 53552, 61171, 33010, 6542, 64743, 22239, 55772, 9222 ]), d = t([ 54554, 36645, 11616, 51542, 42930, 38181, 51040, 26924, 56412, 64982, 57905, 49316, 21502, 52590, 14035, 8553 ]), h = t([ 26200, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214 ]), p = t([ 41136, 18958, 6951, 50414, 58488, 44335, 6150, 12099, 55207, 15867, 153, 11085, 57099, 20417, 9344, 11139 ]);
function g(e, t, r, n) {
e[t] = r >> 24 & 255;
e[t + 1] = r >> 16 & 255;
e[t + 2] = r >> 8 & 255;
e[t + 3] = r & 255;
e[t + 4] = n >> 24 & 255;
e[t + 5] = n >> 16 & 255;
e[t + 6] = n >> 8 & 255;
e[t + 7] = n & 255;
}
function m(e, t, r, n, s) {
var o, a = 0;
for (o = 0; o < s; o++) a |= e[t + o] ^ r[n + o];
return (1 & a - 1 >>> 8) - 1;
}
function _(e, t, r, n) {
return m(e, t, r, n, 16);
}
function E(e, t, r, n) {
return m(e, t, r, n, 32);
}
function v(e, t, r, n) {
var s = n[0] & 255 | (n[1] & 255) << 8 | (n[2] & 255) << 16 | (n[3] & 255) << 24, o = r[0] & 255 | (r[1] & 255) << 8 | (r[2] & 255) << 16 | (r[3] & 255) << 24, a = r[4] & 255 | (r[5] & 255) << 8 | (r[6] & 255) << 16 | (r[7] & 255) << 24, l = r[8] & 255 | (r[9] & 255) << 8 | (r[10] & 255) << 16 | (r[11] & 255) << 24, c = r[12] & 255 | (r[13] & 255) << 8 | (r[14] & 255) << 16 | (r[15] & 255) << 24, u = n[4] & 255 | (n[5] & 255) << 8 | (n[6] & 255) << 16 | (n[7] & 255) << 24, d = t[0] & 255 | (t[1] & 255) << 8 | (t[2] & 255) << 16 | (t[3] & 255) << 24, h = t[4] & 255 | (t[5] & 255) << 8 | (t[6] & 255) << 16 | (t[7] & 255) << 24, p = t[8] & 255 | (t[9] & 255) << 8 | (t[10] & 255) << 16 | (t[11] & 255) << 24, g = t[12] & 255 | (t[13] & 255) << 8 | (t[14] & 255) << 16 | (t[15] & 255) << 24, m = n[8] & 255 | (n[9] & 255) << 8 | (n[10] & 255) << 16 | (n[11] & 255) << 24, _ = r[16] & 255 | (r[17] & 255) << 8 | (r[18] & 255) << 16 | (r[19] & 255) << 24, E = r[20] & 255 | (r[21] & 255) << 8 | (r[22] & 255) << 16 | (r[23] & 255) << 24, v = r[24] & 255 | (r[25] & 255) << 8 | (r[26] & 255) << 16 | (r[27] & 255) << 24, y = r[28] & 255 | (r[29] & 255) << 8 | (r[30] & 255) << 16 | (r[31] & 255) << 24, S = n[12] & 255 | (n[13] & 255) << 8 | (n[14] & 255) << 16 | (n[15] & 255) << 24;
var A = s, b = o, C = a, w = l, I = c, T = u, R = d, k = h, $ = p, P = g, B = m, O = _, N = E, D = v, L = y, U = S, M;
for (var x = 0; x < 20; x += 2) {
M = A + N | 0;
I ^= M << 7 | M >>> 32 - 7;
M = I + A | 0;
$ ^= M << 9 | M >>> 32 - 9;
M = $ + I | 0;
N ^= M << 13 | M >>> 32 - 13;
M = N + $ | 0;
A ^= M << 18 | M >>> 32 - 18;
M = T + b | 0;
P ^= M << 7 | M >>> 32 - 7;
M = P + T | 0;
D ^= M << 9 | M >>> 32 - 9;
M = D + P | 0;
b ^= M << 13 | M >>> 32 - 13;
M = b + D | 0;
T ^= M << 18 | M >>> 32 - 18;
M = B + R | 0;
L ^= M << 7 | M >>> 32 - 7;
M = L + B | 0;
C ^= M << 9 | M >>> 32 - 9;
M = C + L | 0;
R ^= M << 13 | M >>> 32 - 13;
M = R + C | 0;
B ^= M << 18 | M >>> 32 - 18;
M = U + O | 0;
w ^= M << 7 | M >>> 32 - 7;
M = w + U | 0;
k ^= M << 9 | M >>> 32 - 9;
M = k + w | 0;
O ^= M << 13 | M >>> 32 - 13;
M = O + k | 0;
U ^= M << 18 | M >>> 32 - 18;
M = A + w | 0;
b ^= M << 7 | M >>> 32 - 7;
M = b + A | 0;
C ^= M << 9 | M >>> 32 - 9;
M = C + b | 0;
w ^= M << 13 | M >>> 32 - 13;
M = w + C | 0;
A ^= M << 18 | M >>> 32 - 18;
M = T + I | 0;
R ^= M << 7 | M >>> 32 - 7;
M = R + T | 0;
k ^= M << 9 | M >>> 32 - 9;
M = k + R | 0;
I ^= M << 13 | M >>> 32 - 13;
M = I + k | 0;
T ^= M << 18 | M >>> 32 - 18;
M = B + P | 0;
O ^= M << 7 | M >>> 32 - 7;
M = O + B | 0;
$ ^= M << 9 | M >>> 32 - 9;
M = $ + O | 0;
P ^= M << 13 | M >>> 32 - 13;
M = P + $ | 0;
B ^= M << 18 | M >>> 32 - 18;
M = U + L | 0;
N ^= M << 7 | M >>> 32 - 7;
M = N + U | 0;
D ^= M << 9 | M >>> 32 - 9;
M = D + N | 0;
L ^= M << 13 | M >>> 32 - 13;
M = L + D | 0;
U ^= M << 18 | M >>> 32 - 18;
}
A = A + s | 0;
b = b + o | 0;
C = C + a | 0;
w = w + l | 0;
I = I + c | 0;
T = T + u | 0;
R = R + d | 0;
k = k + h | 0;
$ = $ + p | 0;
P = P + g | 0;
B = B + m | 0;
O = O + _ | 0;
N = N + E | 0;
D = D + v | 0;
L = L + y | 0;
U = U + S | 0;
e[0] = A >>> 0 & 255;
e[1] = A >>> 8 & 255;
e[2] = A >>> 16 & 255;
e[3] = A >>> 24 & 255;
e[4] = b >>> 0 & 255;
e[5] = b >>> 8 & 255;
e[6] = b >>> 16 & 255;
e[7] = b >>> 24 & 255;
e[8] = C >>> 0 & 255;
e[9] = C >>> 8 & 255;
e[10] = C >>> 16 & 255;
e[11] = C >>> 24 & 255;
e[12] = w >>> 0 & 255;
e[13] = w >>> 8 & 255;
e[14] = w >>> 16 & 255;
e[15] = w >>> 24 & 255;
e[16] = I >>> 0 & 255;
e[17] = I >>> 8 & 255;
e[18] = I >>> 16 & 255;
e[19] = I >>> 24 & 255;
e[20] = T >>> 0 & 255;
e[21] = T >>> 8 & 255;
e[22] = T >>> 16 & 255;
e[23] = T >>> 24 & 255;
e[24] = R >>> 0 & 255;
e[25] = R >>> 8 & 255;
e[26] = R >>> 16 & 255;
e[27] = R >>> 24 & 255;
e[28] = k >>> 0 & 255;
e[29] = k >>> 8 & 255;
e[30] = k >>> 16 & 255;
e[31] = k >>> 24 & 255;
e[32] = $ >>> 0 & 255;
e[33] = $ >>> 8 & 255;
e[34] = $ >>> 16 & 255;
e[35] = $ >>> 24 & 255;
e[36] = P >>> 0 & 255;
e[37] = P >>> 8 & 255;
e[38] = P >>> 16 & 255;
e[39] = P >>> 24 & 255;
e[40] = B >>> 0 & 255;
e[41] = B >>> 8 & 255;
e[42] = B >>> 16 & 255;
e[43] = B >>> 24 & 255;
e[44] = O >>> 0 & 255;
e[45] = O >>> 8 & 255;
e[46] = O >>> 16 & 255;
e[47] = O >>> 24 & 255;
e[48] = N >>> 0 & 255;
e[49] = N >>> 8 & 255;
e[50] = N >>> 16 & 255;
e[51] = N >>> 24 & 255;
e[52] = D >>> 0 & 255;
e[53] = D >>> 8 & 255;
e[54] = D >>> 16 & 255;
e[55] = D >>> 24 & 255;
e[56] = L >>> 0 & 255;
e[57] = L >>> 8 & 255;
e[58] = L >>> 16 & 255;
e[59] = L >>> 24 & 255;
e[60] = U >>> 0 & 255;
e[61] = U >>> 8 & 255;
e[62] = U >>> 16 & 255;
e[63] = U >>> 24 & 255;
}
function y(e, t, r, n) {
var s = n[0] & 255 | (n[1] & 255) << 8 | (n[2] & 255) << 16 | (n[3] & 255) << 24, o = r[0] & 255 | (r[1] & 255) << 8 | (r[2] & 255) << 16 | (r[3] & 255) << 24, a = r[4] & 255 | (r[5] & 255) << 8 | (r[6] & 255) << 16 | (r[7] & 255) << 24, l = r[8] & 255 | (r[9] & 255) << 8 | (r[10] & 255) << 16 | (r[11] & 255) << 24, c = r[12] & 255 | (r[13] & 255) << 8 | (r[14] & 255) << 16 | (r[15] & 255) << 24, u = n[4] & 255 | (n[5] & 255) << 8 | (n[6] & 255) << 16 | (n[7] & 255) << 24, d = t[0] & 255 | (t[1] & 255) << 8 | (t[2] & 255) << 16 | (t[3] & 255) << 24, h = t[4] & 255 | (t[5] & 255) << 8 | (t[6] & 255) << 16 | (t[7] & 255) << 24, p = t[8] & 255 | (t[9] & 255) << 8 | (t[10] & 255) << 16 | (t[11] & 255) << 24, g = t[12] & 255 | (t[13] & 255) << 8 | (t[14] & 255) << 16 | (t[15] & 255) << 24, m = n[8] & 255 | (n[9] & 255) << 8 | (n[10] & 255) << 16 | (n[11] & 255) << 24, _ = r[16] & 255 | (r[17] & 255) << 8 | (r[18] & 255) << 16 | (r[19] & 255) << 24, E = r[20] & 255 | (r[21] & 255) << 8 | (r[22] & 255) << 16 | (r[23] & 255) << 24, v = r[24] & 255 | (r[25] & 255) << 8 | (r[26] & 255) << 16 | (r[27] & 255) << 24, y = r[28] & 255 | (r[29] & 255) << 8 | (r[30] & 255) << 16 | (r[31] & 255) << 24, S = n[12] & 255 | (n[13] & 255) << 8 | (n[14] & 255) << 16 | (n[15] & 255) << 24;
var A = s, b = o, C = a, w = l, I = c, T = u, R = d, k = h, $ = p, P = g, B = m, O = _, N = E, D = v, L = y, U = S, M;
for (var x = 0; x < 20; x += 2) {
M = A + N | 0;
I ^= M << 7 | M >>> 32 - 7;
M = I + A | 0;
$ ^= M << 9 | M >>> 32 - 9;
M = $ + I | 0;
N ^= M << 13 | M >>> 32 - 13;
M = N + $ | 0;
A ^= M << 18 | M >>> 32 - 18;
M = T + b | 0;
P ^= M << 7 | M >>> 32 - 7;
M = P + T | 0;
D ^= M << 9 | M >>> 32 - 9;
M = D + P | 0;
b ^= M << 13 | M >>> 32 - 13;
M = b + D | 0;
T ^= M << 18 | M >>> 32 - 18;
M = B + R | 0;
L ^= M << 7 | M >>> 32 - 7;
M = L + B | 0;
C ^= M << 9 | M >>> 32 - 9;
M = C + L | 0;
R ^= M << 13 | M >>> 32 - 13;
M = R + C | 0;
B ^= M << 18 | M >>> 32 - 18;
M = U + O | 0;
w ^= M << 7 | M >>> 32 - 7;
M = w + U | 0;
k ^= M << 9 | M >>> 32 - 9;
M = k + w | 0;
O ^= M << 13 | M >>> 32 - 13;
M = O + k | 0;
U ^= M << 18 | M >>> 32 - 18;
M = A + w | 0;
b ^= M << 7 | M >>> 32 - 7;
M = b + A | 0;
C ^= M << 9 | M >>> 32 - 9;
M = C + b | 0;
w ^= M << 13 | M >>> 32 - 13;
M = w + C | 0;
A ^= M << 18 | M >>> 32 - 18;
M = T + I | 0;
R ^= M << 7 | M >>> 32 - 7;
M = R + T | 0;
k ^= M << 9 | M >>> 32 - 9;
M = k + R | 0;
I ^= M << 13 | M >>> 32 - 13;
M = I + k | 0;
T ^= M << 18 | M >>> 32 - 18;
M = B + P | 0;
O ^= M << 7 | M >>> 32 - 7;
M = O + B | 0;
$ ^= M << 9 | M >>> 32 - 9;
M = $ + O | 0;
P ^= M << 13 | M >>> 32 - 13;
M = P + $ | 0;
B ^= M << 18 | M >>> 32 - 18;
M = U + L | 0;
N ^= M << 7 | M >>> 32 - 7;
M = N + U | 0;
D ^= M << 9 | M >>> 32 - 9;
M = D + N | 0;
L ^= M << 13 | M >>> 32 - 13;
M = L + D | 0;
U ^= M << 18 | M >>> 32 - 18;
}
e[0] = A >>> 0 & 255;
e[1] = A >>> 8 & 255;
e[2] = A >>> 16 & 255;
e[3] = A >>> 24 & 255;
e[4] = T >>> 0 & 255;
e[5] = T >>> 8 & 255;
e[6] = T >>> 16 & 255;
e[7] = T >>> 24 & 255;
e[8] = B >>> 0 & 255;
e[9] = B >>> 8 & 255;
e[10] = B >>> 16 & 255;
e[11] = B >>> 24 & 255;
e[12] = U >>> 0 & 255;
e[13] = U >>> 8 & 255;
e[14] = U >>> 16 & 255;
e[15] = U >>> 24 & 255;
e[16] = R >>> 0 & 255;
e[17] = R >>> 8 & 255;
e[18] = R >>> 16 & 255;
e[19] = R >>> 24 & 255;
e[20] = k >>> 0 & 255;
e[21] = k >>> 8 & 255;
e[22] = k >>> 16 & 255;
e[23] = k >>> 24 & 255;
e[24] = $ >>> 0 & 255;
e[25] = $ >>> 8 & 255;
e[26] = $ >>> 16 & 255;
e[27] = $ >>> 24 & 255;
e[28] = P >>> 0 & 255;
e[29] = P >>> 8 & 255;
e[30] = P >>> 16 & 255;
e[31] = P >>> 24 & 255;
}
function S(e, t, r, n) {
v(e, t, r, n);
}
function A(e, t, r, n) {
y(e, t, r, n);
}
var b = new Uint8Array([ 101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107 ]);
function C(e, t, r, n, s, o, a) {
var l = new Uint8Array(16), c = new Uint8Array(64);
var u, d;
for (d = 0; d < 16; d++) l[d] = 0;
for (d = 0; d < 8; d++) l[d] = o[d];
while (s >= 64) {
S(c, l, a, b);
for (d = 0; d < 64; d++) e[t + d] = r[n + d] ^ c[d];
u = 1;
for (d = 8; d < 16; d++) {
u = u + (l[d] & 255) | 0;
l[d] = u & 255;
u >>>= 8;
}
s -= 64;
t += 64;
n += 64;
}
if (s > 0) {
S(c, l, a, b);
for (d = 0; d < s; d++) e[t + d] = r[n + d] ^ c[d];
}
return 0;
}
function w(e, t, r, n, s) {
var o = new Uint8Array(16), a = new Uint8Array(64);
var l, c;
for (c = 0; c < 16; c++) o[c] = 0;
for (c = 0; c < 8; c++) o[c] = n[c];
while (r >= 64) {
S(a, o, s, b);
for (c = 0; c < 64; c++) e[t + c] = a[c];
l = 1;
for (c = 8; c < 16; c++) {
l = l + (o[c] & 255) | 0;
o[c] = l & 255;
l >>>= 8;
}
r -= 64;
t += 64;
}
if (r > 0) {
S(a, o, s, b);
for (c = 0; c < r; c++) e[t + c] = a[c];
}
return 0;
}
function I(e, t, r, n, s) {
var o = new Uint8Array(32);
A(o, n, s, b);
var a = new Uint8Array(8);
for (var l = 0; l < 8; l++) a[l] = n[l + 16];
return w(e, t, r, a, o);
}
function T(e, t, r, n, s, o, a) {
var l = new Uint8Array(32);
A(l, o, a, b);
var c = new Uint8Array(8);
for (var u = 0; u < 8; u++) c[u] = o[u + 16];
return C(e, t, r, n, s, c, l);
}
var R = function(e) {
this.buffer = new Uint8Array(16);
this.r = new Uint16Array(10);
this.h = new Uint16Array(10);
this.pad = new Uint16Array(8);
this.leftover = 0;
this.fin = 0;
var t, r, n, s, o, a, l, c;
t = e[0] & 255 | (e[1] & 255) << 8;
this.r[0] = t & 8191;
r = e[2] & 255 | (e[3] & 255) << 8;
this.r[1] = (t >>> 13 | r << 3) & 8191;
n = e[4] & 255 | (e[5] & 255) << 8;
this.r[2] = (r >>> 10 | n << 6) & 7939;
s = e[6] & 255 | (e[7] & 255) << 8;
this.r[3] = (n >>> 7 | s << 9) & 8191;
o = e[8] & 255 | (e[9] & 255) << 8;
this.r[4] = (s >>> 4 | o << 12) & 255;
this.r[5] = o >>> 1 & 8190;
a = e[10] & 255 | (e[11] & 255) << 8;
this.r[6] = (o >>> 14 | a << 2) & 8191;
l = e[12] & 255 | (e[13] & 255) << 8;
this.r[7] = (a >>> 11 | l << 5) & 8065;
c = e[14] & 255 | (e[15] & 255) << 8;
this.r[8] = (l >>> 8 | c << 8) & 8191;
this.r[9] = c >>> 5 & 127;
this.pad[0] = e[16] & 255 | (e[17] & 255) << 8;
this.pad[1] = e[18] & 255 | (e[19] & 255) << 8;
this.pad[2] = e[20] & 255 | (e[21] & 255) << 8;
this.pad[3] = e[22] & 255 | (e[23] & 255) << 8;
this.pad[4] = e[24] & 255 | (e[25] & 255) << 8;
this.pad[5] = e[26] & 255 | (e[27] & 255) << 8;
this.pad[6] = e[28] & 255 | (e[29] & 255) << 8;
this.pad[7] = e[30] & 255 | (e[31] & 255) << 8;
};
R.prototype.blocks = function(e, t, r) {
var n = this.fin ? 0 : 1 << 11;
var s, o, a, l, c, u, d, h, p;
var g, m, _, E, v, y, S, A, b, C;
var w = this.h[0], I = this.h[1], T = this.h[2], R = this.h[3], k = this.h[4], $ = this.h[5], P = this.h[6], B = this.h[7], O = this.h[8], N = this.h[9];
var D = this.r[0], L = this.r[1], U = this.r[2], M = this.r[3], x = this.r[4], H = this.r[5], q = this.r[6], j = this.r[7], W = this.r[8], Q = this.r[9];
while (r >= 16) {
s = e[t + 0] & 255 | (e[t + 1] & 255) << 8;
w += s & 8191;
o = e[t + 2] & 255 | (e[t + 3] & 255) << 8;
I += (s >>> 13 | o << 3) & 8191;
a = e[t + 4] & 255 | (e[t + 5] & 255) << 8;
T += (o >>> 10 | a << 6) & 8191;
l = e[t + 6] & 255 | (e[t + 7] & 255) << 8;
R += (a >>> 7 | l << 9) & 8191;
c = e[t + 8] & 255 | (e[t + 9] & 255) << 8;
k += (l >>> 4 | c << 12) & 8191;
$ += c >>> 1 & 8191;
u = e[t + 10] & 255 | (e[t + 11] & 255) << 8;
P += (c >>> 14 | u << 2) & 8191;
d = e[t + 12] & 255 | (e[t + 13] & 255) << 8;
B += (u >>> 11 | d << 5) & 8191;
h = e[t + 14] & 255 | (e[t + 15] & 255) << 8;
O += (d >>> 8 | h << 8) & 8191;
N += h >>> 5 | n;
p = 0;
g = p;
g += w * D;
g += I * (5 * Q);
g += T * (5 * W);
g += R * (5 * j);
g += k * (5 * q);
p = g >>> 13;
g &= 8191;
g += $ * (5 * H);
g += P * (5 * x);
g += B * (5 * M);
g += O * (5 * U);
g += N * (5 * L);
p += g >>> 13;
g &= 8191;
m = p;
m += w * L;
m += I * D;
m += T * (5 * Q);
m += R * (5 * W);
m += k * (5 * j);
p = m >>> 13;
m &= 8191;
m += $ * (5 * q);
m += P * (5 * H);
m += B * (5 * x);
m += O * (5 * M);
m += N * (5 * U);
p += m >>> 13;
m &= 8191;
_ = p;
_ += w * U;
_ += I * L;
_ += T * D;
_ += R * (5 * Q);
_ += k * (5 * W);
p = _ >>> 13;
_ &= 8191;
_ += $ * (5 * j);
_ += P * (5 * q);
_ += B * (5 * H);
_ += O * (5 * x);
_ += N * (5 * M);
p += _ >>> 13;
_ &= 8191;
E = p;
E += w * M;
E += I * U;
E += T * L;
E += R * D;
E += k * (5 * Q);
p = E >>> 13;
E &= 8191;
E += $ * (5 * W);
E += P * (5 * j);
E += B * (5 * q);
E += O * (5 * H);
E += N * (5 * x);
p += E >>> 13;
E &= 8191;
v = p;
v += w * x;
v += I * M;
v += T * U;
v += R * L;
v += k * D;
p = v >>> 13;
v &= 8191;
v += $ * (5 * Q);
v += P * (5 * W);
v += B * (5 * j);
v += O * (5 * q);
v += N * (5 * H);
p += v >>> 13;
v &= 8191;
y = p;
y += w * H;
y += I * x;
y += T * M;
y += R * U;
y += k * L;
p = y >>> 13;
y &= 8191;
y += $ * D;
y += P * (5 * Q);
y += B * (5 * W);
y += O * (5 * j);
y += N * (5 * q);
p += y >>> 13;
y &= 8191;
S = p;
S += w * q;
S += I * H;
S += T * x;
S += R * M;
S += k * U;
p = S >>> 13;
S &= 8191;
S += $ * L;
S += P * D;
S += B * (5 * Q);
S += O * (5 * W);
S += N * (5 * j);
p += S >>> 13;
S &= 8191;
A = p;
A += w * j;
A += I * q;
A += T * H;
A += R * x;
A += k * M;
p = A >>> 13;
A &= 8191;
A += $ * U;
A += P * L;
A += B * D;
A += O * (5 * Q);
A += N * (5 * W);
p += A >>> 13;
A &= 8191;
b = p;
b += w * W;
b += I * j;
b += T * q;
b += R * H;
b += k * x;
p = b >>> 13;
b &= 8191;
b += $ * M;
b += P * U;
b += B * L;
b += O * D;
b += N * (5 * Q);
p += b >>> 13;
b &= 8191;
C = p;
C += w * Q;
C += I * W;
C += T * j;
C += R * q;
C += k * H;
p = C >>> 13;
C &= 8191;
C += $ * x;
C += P * M;
C += B * U;
C += O * L;
C += N * D;
p += C >>> 13;
C &= 8191;
p = (p << 2) + p | 0;
p = p + g | 0;
g = p & 8191;
p = p >>> 13;
m += p;
w = g;
I = m;
T = _;
R = E;
k = v;
$ = y;
P = S;
B = A;
O = b;
N = C;
t += 16;
r -= 16;
}
this.h[0] = w;
this.h[1] = I;
this.h[2] = T;
this.h[3] = R;
this.h[4] = k;
this.h[5] = $;
this.h[6] = P;
this.h[7] = B;
this.h[8] = O;
this.h[9] = N;
};
R.prototype.finish = function(e, t) {
var r = new Uint16Array(10);
var n, s, o, a;
if (this.leftover) {
a = this.leftover;
this.buffer[a++] = 1;
for (;a < 16; a++) this.buffer[a] = 0;
this.fin = 1;
this.blocks(this.buffer, 0, 16);
}
n = this.h[1] >>> 13;
this.h[1] &= 8191;
for (a = 2; a < 10; a++) {
this.h[a] += n;
n = this.h[a] >>> 13;
this.h[a] &= 8191;
}
this.h[0] += n * 5;
n = this.h[0] >>> 13;
this.h[0] &= 8191;
this.h[1] += n;
n = this.h[1] >>> 13;
this.h[1] &= 8191;
this.h[2] += n;
r[0] = this.h[0] + 5;
n = r[0] >>> 13;
r[0] &= 8191;
for (a = 1; a < 10; a++) {
r[a] = this.h[a] + n;
n = r[a] >>> 13;
r[a] &= 8191;
}
r[9] -= 1 << 13;
s = (n ^ 1) - 1;
for (a = 0; a < 10; a++) r[a] &= s;
s = ~s;
for (a = 0; a < 10; a++) this.h[a] = this.h[a] & s | r[a];
this.h[0] = (this.h[0] | this.h[1] << 13) & 65535;
this.h[1] = (this.h[1] >>> 3 | this.h[2] << 10) & 65535;
this.h[2] = (this.h[2] >>> 6 | this.h[3] << 7) & 65535;
this.h[3] = (this.h[3] >>> 9 | this.h[4] << 4) & 65535;
this.h[4] = (this.h[4] >>> 12 | this.h[5] << 1 | this.h[6] << 14) & 65535;
this.h[5] = (this.h[6] >>> 2 | this.h[7] << 11) & 65535;
this.h[6] = (this.h[7] >>> 5 | this.h[8] << 8) & 65535;
this.h[7] = (this.h[8] >>> 8 | this.h[9] << 5) & 65535;
o = this.h[0] + this.pad[0];
this.h[0] = o & 65535;
for (a = 1; a < 8; a++) {
o = (this.h[a] + this.pad[a] | 0) + (o >>> 16) | 0;
this.h[a] = o & 65535;
}
e[t + 0] = this.h[0] >>> 0 & 255;
e[t + 1] = this.h[0] >>> 8 & 255;
e[t + 2] = this.h[1] >>> 0 & 255;
e[t + 3] = this.h[1] >>> 8 & 255;
e[t + 4] = this.h[2] >>> 0 & 255;
e[t + 5] = this.h[2] >>> 8 & 255;
e[t + 6] = this.h[3] >>> 0 & 255;
e[t + 7] = this.h[3] >>> 8 & 255;
e[t + 8] = this.h[4] >>> 0 & 255;
e[t + 9] = this.h[4] >>> 8 & 255;
e[t + 10] = this.h[5] >>> 0 & 255;
e[t + 11] = this.h[5] >>> 8 & 255;
e[t + 12] = this.h[6] >>> 0 & 255;
e[t + 13] = this.h[6] >>> 8 & 255;
e[t + 14] = this.h[7] >>> 0 & 255;
e[t + 15] = this.h[7] >>> 8 & 255;
};
R.prototype.update = function(e, t, r) {
var n, s;
if (this.leftover) {
s = 16 - this.leftover;
if (s > r) s = r;
for (n = 0; n < s; n++) this.buffer[this.leftover + n] = e[t + n];
r -= s;
t += s;
this.leftover += s;
if (this.leftover < 16) return;
this.blocks(this.buffer, 0, 16);
this.leftover = 0;
}
if (r >= 16) {
s = r - r % 16;
this.blocks(e, t, s);
t += s;
r -= s;
}
if (r) {
for (n = 0; n < r; n++) this.buffer[this.leftover + n] = e[t + n];
this.leftover += r;
}
};
function k(e, t, r, n, s, o) {
var a = new R(o);
a.update(r, n, s);
a.finish(e, t);
return 0;
}
function $(e, t, r, n, s, o) {
var a = new Uint8Array(16);
k(a, 0, r, n, s, o);
return _(e, t, a, 0);
}
function P(e, t, r, n, s) {
var o;
if (r < 32) return -1;
T(e, 0, t, 0, r, n, s);
k(e, 16, e, 32, r - 32, e);
for (o = 0; o < 16; o++) e[o] = 0;
return 0;
}
function B(e, t, r, n, s) {
var o;