@dxos/vendor-hypercore 0.8.4-main.406dc2a → 0.8.4-main.59c2e9b

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../node_modules/.pnpm/nanoassert@2.0.0/node_modules/nanoassert/index.js", "../../../../../node_modules/.pnpm/sodium-javascript@0.8.0/node_modules/sodium-javascript/randombytes.js", "../../../../../node_modules/.pnpm/sodium-javascript@0.8.0/node_modules/sodium-javascript/memory.js", "../../../../../node_modules/.pnpm/sodium-javascript@0.8.0/node_modules/sodium-javascript/crypto_verify.js", "../../../../../node_modules/.pnpm/sodium-javascript@0.8.0/node_modules/sodium-javascript/helpers.js", "../../../../../node_modules/.pnpm/b4a@1.6.4/node_modules/b4a/lib/ascii.js", "../../../../../node_modules/.pnpm/b4a@1.6.4/node_modules/b4a/lib/base64.js", "../../../../../node_modules/.pnpm/b4a@1.6.4/node_modules/b4a/lib/hex.js", "../../../../../node_modules/.pnpm/b4a@1.6.4/node_modules/b4a/lib/utf8.js", "../../../../../node_modules/.pnpm/b4a@1.6.4/node_modules/b4a/lib/utf16le.js", "../../../../../node_modules/.pnpm/b4a@1.6.4/node_modules/b4a/browser.js", "../../../../../node_modules/.pnpm/sha512-universal@1.2.1/node_modules/sha512-universal/sha512.js", "../../../../../node_modules/.pnpm/sha512-wasm@2.3.4/node_modules/sha512-wasm/sha512.js", "../../../../../node_modules/.pnpm/sha512-wasm@2.3.4/node_modules/sha512-wasm/index.js", "../../../../../node_modules/.pnpm/sha512-universal@1.2.1/node_modules/sha512-universal/index.js", "../../../../../node_modules/.pnpm/sodium-javascript@0.8.0/node_modules/sodium-javascript/crypto_auth.js", "../../../../../node_modules/.pnpm/sodium-javascript@0.8.0/node_modules/sodium-javascript/crypto_hash.js", "../../../../../node_modules/.pnpm/sodium-javascript@0.8.0/node_modules/sodium-javascript/internal/ed25519.js", "../../../../../node_modules/.pnpm/sodium-javascript@0.8.0/node_modules/sodium-javascript/crypto_scalarmult.js", "../../../../../node_modules/.pnpm/blake2b-wasm@2.4.0/node_modules/blake2b-wasm/blake2b.js", "../../../../../node_modules/.pnpm/blake2b-wasm@2.4.0/node_modules/blake2b-wasm/index.js", "../../../../../node_modules/.pnpm/blake2b@2.1.4/node_modules/blake2b/index.js", "../../../../../node_modules/.pnpm/sodium-javascript@0.8.0/node_modules/sodium-javascript/crypto_generichash.js", "../../../../../node_modules/.pnpm/xsalsa20@1.2.0/node_modules/xsalsa20/xsalsa20.js", "../../../../../node_modules/.pnpm/xsalsa20@1.2.0/node_modules/xsalsa20/index.js", "../../../../../node_modules/.pnpm/sodium-javascript@0.8.0/node_modules/sodium-javascript/crypto_stream.js", "../../../../../node_modules/.pnpm/sodium-javascript@0.8.0/node_modules/sodium-javascript/internal/poly1305.js", "../../../../../node_modules/.pnpm/sodium-javascript@0.8.0/node_modules/sodium-javascript/crypto_onetimeauth.js", "../../../../../node_modules/.pnpm/sodium-javascript@0.8.0/node_modules/sodium-javascript/crypto_secretbox.js", "../../../../../node_modules/.pnpm/sodium-javascript@0.8.0/node_modules/sodium-javascript/crypto_box.js", "../../../../../node_modules/.pnpm/sha256-universal@1.2.1/node_modules/sha256-universal/sha256.js", "../../../../../node_modules/.pnpm/sha256-wasm@2.2.2/node_modules/sha256-wasm/sha256.js", "../../../../../node_modules/.pnpm/sha256-wasm@2.2.2/node_modules/sha256-wasm/index.js", "../../../../../node_modules/.pnpm/sha256-universal@1.2.1/node_modules/sha256-universal/index.js", "../../../../../node_modules/.pnpm/sodium-javascript@0.8.0/node_modules/sodium-javascript/crypto_hash_sha256.js", "../../../../../node_modules/.pnpm/sodium-javascript@0.8.0/node_modules/sodium-javascript/crypto_kdf.js", "../../../../../node_modules/.pnpm/sodium-javascript@0.8.0/node_modules/sodium-javascript/crypto_kx.js", "../../../../../node_modules/.pnpm/chacha20-universal@1.0.4/node_modules/chacha20-universal/index.js", "../../../../../node_modules/.pnpm/sodium-javascript@0.8.0/node_modules/sodium-javascript/crypto_stream_chacha20.js", "../../../../../node_modules/.pnpm/sodium-javascript@0.8.0/node_modules/sodium-javascript/crypto_aead.js", "../../../../../node_modules/.pnpm/sodium-javascript@0.8.0/node_modules/sodium-javascript/internal/hchacha20.js", "../../../../../node_modules/.pnpm/sodium-javascript@0.8.0/node_modules/sodium-javascript/crypto_secretstream.js", "../../../../../node_modules/.pnpm/siphash24@1.3.1/node_modules/siphash24/siphash24.js", "../../../../../node_modules/.pnpm/siphash24@1.3.1/node_modules/siphash24/fallback.js", "../../../../../node_modules/.pnpm/siphash24@1.3.1/node_modules/siphash24/index.js", "../../../../../node_modules/.pnpm/sodium-javascript@0.8.0/node_modules/sodium-javascript/crypto_shorthash.js", "../../../../../node_modules/.pnpm/sodium-javascript@0.8.0/node_modules/sodium-javascript/crypto_sign.js", "../../../../../node_modules/.pnpm/sodium-javascript@0.8.0/node_modules/sodium-javascript/index.js", "../../../../../node_modules/.pnpm/uint64be@3.0.0/node_modules/uint64be/index.js", "../../../../../node_modules/.pnpm/hypercore-crypto@2.3.2/node_modules/hypercore-crypto/index.js"],
4
+ "sourcesContent": ["module.exports = assert\n\nclass AssertionError extends Error {}\nAssertionError.prototype.name = 'AssertionError'\n\n/**\n * Minimal assert function\n * @param {any} t Value to check if falsy\n * @param {string=} m Optional assertion error message\n * @throws {AssertionError}\n */\nfunction assert (t, m) {\n if (!t) {\n var err = new AssertionError(m)\n if (Error.captureStackTrace) Error.captureStackTrace(err, assert)\n throw err\n }\n}\n", "var assert = require('nanoassert')\n\nvar randombytes = (function () {\n var QUOTA = 65536 // limit for QuotaExceededException\n var crypto = globalThis.crypto || globalThis.msCrypto\n\n function browserBytes (out, n) {\n for (let i = 0; i < n; i += QUOTA) {\n crypto.getRandomValues(new Uint8Array(out.buffer, i + out.byteOffset, Math.min(n - i, QUOTA)))\n }\n }\n\n function nodeBytes (out, n) {\n new Uint8Array(out.buffer, out.byteOffset, n).set(crypto.randomBytes(n))\n }\n\n function noImpl () {\n throw new Error('No secure random number generator available')\n }\n\n if (crypto && crypto.getRandomValues) return browserBytes\n\n if (require != null) {\n // Node.js. Bust Browserify\n crypto = require('cry' + 'pto')\n if (crypto && crypto.randomBytes) return nodeBytes\n }\n\n return noImpl\n})()\n\n// Make non enumerable as this is an internal function\nObject.defineProperty(module.exports, 'randombytes', {\n value: randombytes\n})\n\nmodule.exports.randombytes_buf = function (out) {\n assert(out, 'out must be given')\n randombytes(out, out.byteLength)\n}\n", "/* eslint-disable camelcase */\n\nfunction sodium_malloc (n) {\n return new Uint8Array(n)\n}\n\nfunction sodium_free (n) {\n sodium_memzero(n)\n loadSink().port1.postMessage(n.buffer, [n.buffer])\n}\n\nfunction sodium_memzero (arr) {\n arr.fill(0)\n}\n\nvar sink\n\nfunction loadSink () {\n if (sink) return sink\n var MessageChannel = globalThis.MessageChannel\n if (MessageChannel == null) ({ MessageChannel } = require('worker' + '_threads'))\n sink = new MessageChannel()\n return sink\n}\n\nmodule.exports = {\n sodium_malloc,\n sodium_free,\n sodium_memzero\n}\n", "/* eslint-disable camelcase */\nmodule.exports = {\n crypto_verify_16,\n crypto_verify_32,\n crypto_verify_64\n}\n\nfunction vn (x, xi, y, yi, n) {\n var d = 0\n for (let i = 0; i < n; i++) d |= x[xi + i] ^ y[yi + i]\n return (1 & ((d - 1) >>> 8)) - 1\n}\n\n// Make non enumerable as this is an internal function\nObject.defineProperty(module.exports, 'vn', {\n value: vn\n})\n\nfunction crypto_verify_16 (x, xi, y, yi) {\n return vn(x, xi, y, yi, 16) === 0\n}\n\nfunction crypto_verify_32 (x, xi, y, yi) {\n return vn(x, xi, y, yi, 32) === 0\n}\n\nfunction crypto_verify_64 (x, xi, y, yi) {\n return vn(x, xi, y, yi, 64) === 0\n}\n", "/* eslint-disable camelcase */\nconst assert = require('nanoassert')\nconst { vn } = require('./crypto_verify')\n\nfunction sodium_increment (n) {\n const nlen = n.byteLength\n var c = 1\n for (var i = 0; i < nlen; i++) {\n c += n[i]\n n[i] = c\n c >>= 8\n }\n}\n\nfunction sodium_memcmp (a, b) {\n assert(a.byteLength === b.byteLength, 'buffers must be the same size')\n\n return vn(a, 0, b, 0, a.byteLength) === 0\n}\n\nfunction sodium_is_zero (arr) {\n var d = 0\n for (let i = 0; i < arr.length; i++) d |= arr[i]\n return d === 0\n}\n\nmodule.exports = {\n sodium_increment,\n sodium_memcmp,\n sodium_is_zero\n}\n", "function byteLength (string) {\n return string.length\n}\n\nfunction toString (buffer) {\n const len = buffer.byteLength\n\n let result = ''\n\n for (let i = 0; i < len; i++) {\n result += String.fromCharCode(buffer[i])\n }\n\n return result\n}\n\nfunction write (buffer, string, offset = 0, length = byteLength(string)) {\n const len = Math.min(length, buffer.byteLength - offset)\n\n for (let i = 0; i < len; i++) {\n buffer[offset + i] = string.charCodeAt(i)\n }\n\n return len\n}\n\nmodule.exports = {\n byteLength,\n toString,\n write\n}\n", "const alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\n\nconst codes = new Uint8Array(256)\n\nfor (let i = 0; i < alphabet.length; i++) {\n codes[alphabet.charCodeAt(i)] = i\n}\n\ncodes[/* - */ 0x2d] = 62\ncodes[/* _ */ 0x5f] = 63\n\nfunction byteLength (string) {\n let len = string.length\n\n if (string.charCodeAt(len - 1) === 0x3d) len--\n if (len > 1 && string.charCodeAt(len - 1) === 0x3d) len--\n\n return (len * 3) >>> 2\n}\n\nfunction toString (buffer) {\n const len = buffer.byteLength\n\n let result = ''\n\n for (let i = 0; i < len; i += 3) {\n result += (\n alphabet[buffer[i] >> 2] +\n alphabet[((buffer[i] & 3) << 4) | (buffer[i + 1] >> 4)] +\n alphabet[((buffer[i + 1] & 15) << 2) | (buffer[i + 2] >> 6)] +\n alphabet[buffer[i + 2] & 63]\n )\n }\n\n if (len % 3 === 2) {\n result = result.substring(0, result.length - 1) + '='\n } else if (len % 3 === 1) {\n result = result.substring(0, result.length - 2) + '=='\n }\n\n return result\n};\n\nfunction write (buffer, string, offset = 0, length = byteLength(string)) {\n const len = Math.min(length, buffer.byteLength - offset)\n\n for (let i = 0, j = 0; j < len; i += 4) {\n const a = codes[string.charCodeAt(i)]\n const b = codes[string.charCodeAt(i + 1)]\n const c = codes[string.charCodeAt(i + 2)]\n const d = codes[string.charCodeAt(i + 3)]\n\n buffer[j++] = (a << 2) | (b >> 4)\n buffer[j++] = ((b & 15) << 4) | (c >> 2)\n buffer[j++] = ((c & 3) << 6) | (d & 63)\n }\n\n return len\n};\n\nmodule.exports = {\n byteLength,\n toString,\n write\n}\n", "function byteLength (string) {\n return string.length >>> 1\n}\n\nfunction toString (buffer) {\n const len = buffer.byteLength\n\n buffer = new DataView(buffer.buffer, buffer.byteOffset, len)\n\n let result = ''\n let i = 0\n\n for (let n = len - (len % 4); i < n; i += 4) {\n result += buffer.getUint32(i).toString(16).padStart(8, '0')\n }\n\n for (; i < len; i++) {\n result += buffer.getUint8(i).toString(16).padStart(2, '0')\n }\n\n return result\n}\n\nfunction write (buffer, string, offset = 0, length = byteLength(string)) {\n const len = Math.min(length, buffer.byteLength - offset)\n\n for (let i = 0; i < len; i++) {\n const a = hexValue(string.charCodeAt(i * 2))\n const b = hexValue(string.charCodeAt(i * 2 + 1))\n\n if (a === undefined || b === undefined) {\n return buffer.subarray(0, i)\n }\n\n buffer[offset + i] = (a << 4) | b\n }\n\n return len\n}\n\nmodule.exports = {\n byteLength,\n toString,\n write\n}\n\nfunction hexValue (char) {\n if (char >= 0x30 && char <= 0x39) return char - 0x30\n if (char >= 0x41 && char <= 0x46) return char - 0x41 + 10\n if (char >= 0x61 && char <= 0x66) return char - 0x61 + 10\n}\n", "function byteLength (string) {\n let length = 0\n\n for (let i = 0, n = string.length; i < n; i++) {\n const code = string.charCodeAt(i)\n\n if (code >= 0xd800 && code <= 0xdbff && i + 1 < n) {\n const code = string.charCodeAt(i + 1)\n\n if (code >= 0xdc00 && code <= 0xdfff) {\n length += 4\n i++\n continue\n }\n }\n\n if (code <= 0x7f) length += 1\n else if (code <= 0x7ff) length += 2\n else length += 3\n }\n\n return length\n}\n\nlet toString\n\nif (typeof TextDecoder !== 'undefined') {\n const decoder = new TextDecoder()\n\n toString = function toString (buffer) {\n return decoder.decode(buffer)\n }\n} else {\n toString = function toString (buffer) {\n const len = buffer.byteLength\n\n let output = ''\n let i = 0\n\n while (i < len) {\n let byte = buffer[i]\n\n if (byte <= 0x7f) {\n output += String.fromCharCode(byte)\n i++\n continue\n }\n\n let bytesNeeded = 0\n let codePoint = 0\n\n if (byte <= 0xdf) {\n bytesNeeded = 1\n codePoint = byte & 0x1f\n } else if (byte <= 0xef) {\n bytesNeeded = 2\n codePoint = byte & 0x0f\n } else if (byte <= 0xf4) {\n bytesNeeded = 3\n codePoint = byte & 0x07\n }\n\n if (len - i - bytesNeeded > 0) {\n let k = 0\n\n while (k < bytesNeeded) {\n byte = buffer[i + k + 1]\n codePoint = (codePoint << 6) | (byte & 0x3f)\n k += 1\n }\n } else {\n codePoint = 0xfffd\n bytesNeeded = len - i\n }\n\n output += String.fromCodePoint(codePoint)\n i += bytesNeeded + 1\n }\n\n return output\n }\n}\n\nlet write\n\nif (typeof TextEncoder !== 'undefined') {\n const encoder = new TextEncoder()\n\n write = function write (buffer, string, offset = 0, length = byteLength(string)) {\n const len = Math.min(length, buffer.byteLength - offset)\n encoder.encodeInto(string, buffer.subarray(offset, offset + len))\n return len\n }\n} else {\n write = function write (buffer, string, offset = 0, length = byteLength(string)) {\n const len = Math.min(length, buffer.byteLength - offset)\n\n buffer = buffer.subarray(offset, offset + len)\n\n let i = 0\n let j = 0\n\n while (i < string.length) {\n const code = string.codePointAt(i)\n\n if (code <= 0x7f) {\n buffer[j++] = code\n i++\n continue\n }\n\n let count = 0\n let bits = 0\n\n if (code <= 0x7ff) {\n count = 6\n bits = 0xc0\n } else if (code <= 0xffff) {\n count = 12\n bits = 0xe0\n } else if (code <= 0x1fffff) {\n count = 18\n bits = 0xf0\n }\n\n buffer[j++] = bits | (code >> count)\n count -= 6\n\n while (count >= 0) {\n buffer[j++] = 0x80 | ((code >> count) & 0x3f)\n count -= 6\n }\n\n i += code >= 0x10000 ? 2 : 1\n }\n\n return len\n }\n}\n\nmodule.exports = {\n byteLength,\n toString,\n write\n}\n", "function byteLength (string) {\n return string.length * 2\n}\n\nfunction toString (buffer) {\n const len = buffer.byteLength\n\n let result = ''\n\n for (let i = 0; i < len - 1; i += 2) {\n result += String.fromCharCode(buffer[i] + (buffer[i + 1] * 256))\n }\n\n return result\n}\n\nfunction write (buffer, string, offset = 0, length = byteLength(string)) {\n const len = Math.min(length, buffer.byteLength - offset)\n\n let units = len\n\n for (let i = 0; i < string.length; ++i) {\n if ((units -= 2) < 0) break\n\n const c = string.charCodeAt(i)\n const hi = c >> 8\n const lo = c % 256\n\n buffer[offset + i * 2] = lo\n buffer[offset + i * 2 + 1] = hi\n }\n\n return len\n}\n\nmodule.exports = {\n byteLength,\n toString,\n write\n}\n", "const ascii = require('./lib/ascii')\nconst base64 = require('./lib/base64')\nconst hex = require('./lib/hex')\nconst utf8 = require('./lib/utf8')\nconst utf16le = require('./lib/utf16le')\n\nconst LE = new Uint8Array(Uint16Array.of(0xff).buffer)[0] === 0xff\n\nfunction codecFor (encoding) {\n switch (encoding) {\n case 'ascii':\n return ascii\n case 'base64':\n return base64\n case 'hex':\n return hex\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16le\n default:\n throw new Error(`Unknown encoding: ${encoding}`)\n }\n}\n\nfunction isBuffer (value) {\n return value instanceof Uint8Array\n}\n\nfunction isEncoding (encoding) {\n try {\n codecFor(encoding)\n return true\n } catch {\n return false\n }\n}\n\nfunction alloc (size, fill, encoding) {\n const buffer = new Uint8Array(size)\n if (fill !== undefined) exports.fill(buffer, fill, 0, buffer.byteLength, encoding)\n return buffer\n}\n\nfunction allocUnsafe (size) {\n return new Uint8Array(size)\n}\n\nfunction allocUnsafeSlow (size) {\n return new Uint8Array(size)\n}\n\nfunction byteLength (string, encoding) {\n return codecFor(encoding).byteLength(string)\n}\n\nfunction compare (a, b) {\n if (a === b) return 0\n\n const len = Math.min(a.byteLength, b.byteLength)\n\n a = new DataView(a.buffer, a.byteOffset, a.byteLength)\n b = new DataView(b.buffer, b.byteOffset, b.byteLength)\n\n let i = 0\n\n for (let n = len - (len % 4); i < n; i += 4) {\n const x = a.getUint32(i, LE)\n const y = b.getUint32(i, LE)\n if (x !== y) break\n }\n\n for (; i < len; i++) {\n const x = a.getUint8(i)\n const y = b.getUint8(i)\n if (x < y) return -1\n if (x > y) return 1\n }\n\n return a.byteLength > b.byteLength ? 1 : a.byteLength < b.byteLength ? -1 : 0\n}\n\nfunction concat (buffers, totalLength) {\n if (totalLength === undefined) {\n totalLength = buffers.reduce((len, buffer) => len + buffer.byteLength, 0)\n }\n\n const result = new Uint8Array(totalLength)\n\n let offset = 0\n for (const buffer of buffers) {\n if (offset + buffer.byteLength > result.byteLength) {\n const sub = buffer.subarray(0, result.byteLength - offset)\n result.set(sub, offset)\n return result\n }\n result.set(buffer, offset)\n offset += buffer.byteLength\n }\n\n return result\n}\n\nfunction copy (source, target, targetStart = 0, start = 0, end = source.byteLength) {\n if (end > 0 && end < start) return 0\n if (end === start) return 0\n if (source.byteLength === 0 || target.byteLength === 0) return 0\n\n if (targetStart < 0) throw new RangeError('targetStart is out of range')\n if (start < 0 || start >= source.byteLength) throw new RangeError('sourceStart is out of range')\n if (end < 0) throw new RangeError('sourceEnd is out of range')\n\n if (targetStart >= target.byteLength) targetStart = target.byteLength\n if (end > source.byteLength) end = source.byteLength\n if (target.byteLength - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (source === target) {\n target.copyWithin(targetStart, start, end)\n } else {\n target.set(source.subarray(start, end), targetStart)\n }\n\n return len\n}\n\nfunction equals (a, b) {\n if (a === b) return true\n if (a.byteLength !== b.byteLength) return false\n\n const len = a.byteLength\n\n a = new DataView(a.buffer, a.byteOffset, a.byteLength)\n b = new DataView(b.buffer, b.byteOffset, b.byteLength)\n\n let i = 0\n\n for (let n = len - (len % 4); i < n; i += 4) {\n if (a.getUint32(i, LE) !== b.getUint32(i, LE)) return false\n }\n\n for (; i < len; i++) {\n if (a.getUint8(i) !== b.getUint8(i)) return false\n }\n\n return true\n}\n\nfunction fill (buffer, value, offset, end, encoding) {\n if (typeof value === 'string') {\n // fill(buffer, string, encoding)\n if (typeof offset === 'string') {\n encoding = offset\n offset = 0\n end = buffer.byteLength\n\n // fill(buffer, string, offset, encoding)\n } else if (typeof end === 'string') {\n encoding = end\n end = buffer.byteLength\n }\n } else if (typeof value === 'number') {\n value = value & 0xff\n } else if (typeof value === 'boolean') {\n value = +value\n }\n\n if (offset < 0 || buffer.byteLength < offset || buffer.byteLength < end) {\n throw new RangeError('Out of range index')\n }\n\n if (offset === undefined) offset = 0\n if (end === undefined) end = buffer.byteLength\n\n if (end <= offset) return buffer\n\n if (!value) value = 0\n\n if (typeof value === 'number') {\n for (let i = offset; i < end; ++i) {\n buffer[i] = value\n }\n } else {\n value = isBuffer(value) ? value : from(value, encoding)\n\n const len = value.byteLength\n\n for (let i = 0; i < end - offset; ++i) {\n buffer[i + offset] = value[i % len]\n }\n }\n\n return buffer\n}\n\nfunction from (value, encodingOrOffset, length) {\n // from(string, encoding)\n if (typeof value === 'string') return fromString(value, encodingOrOffset)\n\n // from(array)\n if (Array.isArray(value)) return fromArray(value)\n\n // from(buffer)\n if (ArrayBuffer.isView(value)) return fromBuffer(value)\n\n // from(arrayBuffer[, byteOffset[, length]])\n return fromArrayBuffer(value, encodingOrOffset, length)\n}\n\nfunction fromString (string, encoding) {\n const codec = codecFor(encoding)\n const buffer = new Uint8Array(codec.byteLength(string))\n codec.write(buffer, string, 0, buffer.byteLength)\n return buffer\n}\n\nfunction fromArray (array) {\n const buffer = new Uint8Array(array.length)\n buffer.set(array)\n return buffer\n}\n\nfunction fromBuffer (buffer) {\n const copy = new Uint8Array(buffer.byteLength)\n copy.set(buffer)\n return copy\n}\n\nfunction fromArrayBuffer (arrayBuffer, byteOffset, length) {\n return new Uint8Array(arrayBuffer, byteOffset, length)\n}\n\nfunction includes (buffer, value, byteOffset, encoding) {\n return indexOf(buffer, value, byteOffset, encoding) !== -1\n}\n\nfunction bidirectionalIndexOf (buffer, value, byteOffset, encoding, first) {\n if (buffer.byteLength === 0) return -1\n\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset === undefined) {\n byteOffset = first ? 0 : (buffer.length - 1)\n } else if (byteOffset < 0) {\n byteOffset += buffer.byteLength\n }\n\n if (byteOffset >= buffer.byteLength) {\n if (first) return -1\n else byteOffset = buffer.byteLength - 1\n } else if (byteOffset < 0) {\n if (first) byteOffset = 0\n else return -1\n }\n\n if (typeof value === 'string') {\n value = from(value, encoding)\n } else if (typeof value === 'number') {\n value = value & 0xff\n\n if (first) {\n return buffer.indexOf(value, byteOffset)\n } else {\n return buffer.lastIndexOf(value, byteOffset)\n }\n }\n\n if (value.byteLength === 0) return -1\n\n if (first) {\n let foundIndex = -1\n\n for (let i = byteOffset; i < buffer.byteLength; i++) {\n if (buffer[i] === value[foundIndex === -1 ? 0 : i - foundIndex]) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === value.byteLength) return foundIndex\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + value.byteLength > buffer.byteLength) {\n byteOffset = buffer.byteLength - value.byteLength\n }\n\n for (let i = byteOffset; i >= 0; i--) {\n let found = true\n\n for (let j = 0; j < value.byteLength; j++) {\n if (buffer[i + j] !== value[j]) {\n found = false\n break\n }\n }\n\n if (found) return i\n }\n }\n\n return -1\n}\n\nfunction indexOf (buffer, value, byteOffset, encoding) {\n return bidirectionalIndexOf(buffer, value, byteOffset, encoding, true /* first */)\n}\n\nfunction lastIndexOf (buffer, value, byteOffset, encoding) {\n return bidirectionalIndexOf(buffer, value, byteOffset, encoding, false /* last */)\n}\n\nfunction swap (buffer, n, m) {\n const i = buffer[n]\n buffer[n] = buffer[m]\n buffer[m] = i\n}\n\nfunction swap16 (buffer) {\n const len = buffer.byteLength\n\n if (len % 2 !== 0) throw new RangeError('Buffer size must be a multiple of 16-bits')\n\n for (let i = 0; i < len; i += 2) swap(buffer, i, i + 1)\n\n return buffer\n}\n\nfunction swap32 (buffer) {\n const len = buffer.byteLength\n\n if (len % 4 !== 0) throw new RangeError('Buffer size must be a multiple of 32-bits')\n\n for (let i = 0; i < len; i += 4) {\n swap(buffer, i, i + 3)\n swap(buffer, i + 1, i + 2)\n }\n\n return buffer\n}\n\nfunction swap64 (buffer) {\n const len = buffer.byteLength\n\n if (len % 8 !== 0) throw new RangeError('Buffer size must be a multiple of 64-bits')\n\n for (let i = 0; i < len; i += 8) {\n swap(buffer, i, i + 7)\n swap(buffer, i + 1, i + 6)\n swap(buffer, i + 2, i + 5)\n swap(buffer, i + 3, i + 4)\n }\n\n return buffer\n}\n\nfunction toBuffer (buffer) {\n return buffer\n}\n\nfunction toString (buffer, encoding, start = 0, end = buffer.byteLength) {\n const len = buffer.byteLength\n\n if (start >= len) return ''\n if (end <= start) return ''\n if (start < 0) start = 0\n if (end > len) end = len\n\n if (start !== 0 || end < len) buffer = buffer.subarray(start, end)\n\n return codecFor(encoding).toString(buffer)\n}\n\nfunction write (buffer, string, offset, length, encoding) {\n // write(buffer, string)\n if (offset === undefined) {\n encoding = 'utf8'\n\n // write(buffer, string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n offset = undefined\n\n // write(buffer, string, offset, encoding)\n } else if (encoding === undefined && typeof length === 'string') {\n encoding = length\n length = undefined\n }\n\n return codecFor(encoding).write(buffer, string, offset, length)\n}\n\nfunction writeDoubleLE (buffer, value, offset) {\n if (offset === undefined) offset = 0\n\n const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength)\n view.setFloat64(offset, value, true)\n\n return offset + 8\n}\n\nfunction writeFloatLE (buffer, value, offset) {\n if (offset === undefined) offset = 0\n\n const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength)\n view.setFloat32(offset, value, true)\n\n return offset + 4\n}\n\nfunction writeUInt32LE (buffer, value, offset) {\n if (offset === undefined) offset = 0\n\n const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength)\n view.setUint32(offset, value, true)\n\n return offset + 4\n}\n\nfunction writeInt32LE (buffer, value, offset) {\n if (offset === undefined) offset = 0\n\n const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength)\n view.setInt32(offset, value, true)\n\n return offset + 4\n}\n\nfunction readDoubleLE (buffer, offset) {\n if (offset === undefined) offset = 0\n\n const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength)\n\n return view.getFloat64(offset, true)\n}\n\nfunction readFloatLE (buffer, offset) {\n if (offset === undefined) offset = 0\n\n const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength)\n\n return view.getFloat32(offset, true)\n}\n\nfunction readUInt32LE (buffer, offset) {\n if (offset === undefined) offset = 0\n\n const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength)\n\n return view.getUint32(offset, true)\n}\n\nfunction readInt32LE (buffer, offset) {\n if (offset === undefined) offset = 0\n\n const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength)\n\n return view.getInt32(offset, true)\n}\n\nmodule.exports = exports = {\n isBuffer,\n isEncoding,\n alloc,\n allocUnsafe,\n allocUnsafeSlow,\n byteLength,\n compare,\n concat,\n copy,\n equals,\n fill,\n from,\n includes,\n indexOf,\n lastIndexOf,\n swap16,\n swap32,\n swap64,\n toBuffer,\n toString,\n write,\n writeDoubleLE,\n writeFloatLE,\n writeUInt32LE,\n writeInt32LE,\n readDoubleLE,\n readFloatLE,\n readUInt32LE,\n readInt32LE\n}\n", "const assert = require('nanoassert')\nconst b4a = require('b4a')\n\nmodule.exports = Sha512\n\nconst BLOCKSIZE = 128\n\nvar K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n]\n\nfunction Sha512 () {\n if (!(this instanceof Sha512)) return new Sha512()\n\n this.hh = new Int32Array(8)\n this.hl = new Int32Array(8)\n this.buffer = new Uint8Array(128)\n this.finalised = false\n this.bytesRead = 0\n this.pos = 0\n\n this.hh[0] = 0x6a09e667\n this.hh[1] = 0xbb67ae85\n this.hh[2] = 0x3c6ef372\n this.hh[3] = 0xa54ff53a\n this.hh[4] = 0x510e527f\n this.hh[5] = 0x9b05688c\n this.hh[6] = 0x1f83d9ab\n this.hh[7] = 0x5be0cd19\n\n this.hl[0] = 0xf3bcc908\n this.hl[1] = 0x84caa73b\n this.hl[2] = 0xfe94f82b\n this.hl[3] = 0x5f1d36f1\n this.hl[4] = 0xade682d1\n this.hl[5] = 0x2b3e6c1f\n this.hl[6] = 0xfb41bd6b\n this.hl[7] = 0x137e2179\n\n return this\n}\n\nSha512.prototype.update = function (input, enc) {\n assert(this.finalised === false, 'Hash instance finalised')\n\n var [inputBuf, len] = formatInput(input, enc)\n this.bytesRead += len\n\n const full = (len + this.pos) & -128\n\n this.buffer.set(inputBuf.subarray(0, BLOCKSIZE - this.pos), this.pos)\n const pos = this.pos\n len -= BLOCKSIZE - this.pos\n\n if (len >= 0) {\n compress(this.hh, this.hl, this.buffer, 128)\n this.pos = 0\n }\n\n if (len > 127) {\n compress(this.hh, this.hl, inputBuf.subarray(BLOCKSIZE - pos, full - pos), full - BLOCKSIZE)\n len %= 128\n }\n\n this.buffer.set(inputBuf.subarray(inputBuf.byteLength - len))\n this.pos = this.bytesRead & 0x7f\n this.buffer.fill(0, this.pos)\n\n return this\n}\n\nSha512.prototype.digest = function (enc, offset = 0) {\n assert(this.finalised === false, 'Hash instance finalised')\n this.finalised = true\n\n this.buffer.fill(0, this.pos)\n this.buffer[this.pos] = 128\n\n if (this.pos > 111) {\n compress(this.hh, this.hl, this.buffer, 128)\n\n this.buffer.fill(0)\n this.pos = 0\n }\n\n ts64(this.buffer, 120, (this.bytesRead / 0x20000000) | 0, this.bytesRead << 3)\n compress(this.hh, this.hl, this.buffer, 128)\n\n if (enc instanceof Uint8Array && enc.byteLength > 63) {\n for (let i = 0; i < 8; i++) ts64(enc, 8 * i + offset, this.hh[i], this.hl[i])\n return enc\n }\n\n const resultBuf = new Uint8Array(64)\n for (let i = 0; i < 8; i++) ts64(resultBuf, 8 * i, this.hh[i], this.hl[i])\n\n if (typeof enc === 'string') {\n return b4a.toString(resultBuf, enc)\n }\n\n return resultBuf\n}\n\nfunction ts64 (x, i, h, l) {\n x[i] = (h >> 24) & 0xff\n x[i + 1] = (h >> 16) & 0xff\n x[i + 2] = (h >> 8) & 0xff\n x[i + 3] = h & 0xff\n x[i + 4] = (l >> 24) & 0xff\n x[i + 5] = (l >> 16) & 0xff\n x[i + 6] = (l >> 8) & 0xff\n x[i + 7] = l & 0xff\n}\n\nfunction formatInput (input, enc) {\n var result = b4a.from(input, enc)\n\n return [result, result.byteLength]\n}\n\nfunction compress(hh, hl, m, n) {\n var wh = new Int32Array(16), wl = new Int32Array(16),\n bh0, bh1, bh2, bh3, bh4, bh5, bh6, bh7,\n bl0, bl1, bl2, bl3, bl4, bl5, bl6, bl7,\n th, tl, i, j, h, l, a, b, c, d;\n\n var ah0 = hh[0],\n ah1 = hh[1],\n ah2 = hh[2],\n ah3 = hh[3],\n ah4 = hh[4],\n ah5 = hh[5],\n ah6 = hh[6],\n ah7 = hh[7],\n\n al0 = hl[0],\n al1 = hl[1],\n al2 = hl[2],\n al3 = hl[3],\n al4 = hl[4],\n al5 = hl[5],\n al6 = hl[6],\n al7 = hl[7];\n\n var pos = 0;\n while (n >= 128) {\n for (i = 0; i < 16; i++) {\n j = 8 * i + pos;\n wh[i] = (m[j+0] << 24) | (m[j+1] << 16) | (m[j+2] << 8) | m[j+3];\n wl[i] = (m[j+4] << 24) | (m[j+5] << 16) | (m[j+6] << 8) | m[j+7];\n }\n for (i = 0; i < 80; i++) {\n bh0 = ah0;\n bh1 = ah1;\n bh2 = ah2;\n bh3 = ah3;\n bh4 = ah4;\n bh5 = ah5;\n bh6 = ah6;\n bh7 = ah7;\n\n bl0 = al0;\n bl1 = al1;\n bl2 = al2;\n bl3 = al3;\n bl4 = al4;\n bl5 = al5;\n bl6 = al6;\n bl7 = al7;\n\n // add\n h = ah7;\n l = al7;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n // Sigma1\n h = ((ah4 >>> 14) | (al4 << (32-14))) ^ ((ah4 >>> 18) | (al4 << (32-18))) ^ ((al4 >>> (41-32)) | (ah4 << (32-(41-32))));\n l = ((al4 >>> 14) | (ah4 << (32-14))) ^ ((al4 >>> 18) | (ah4 << (32-18))) ^ ((ah4 >>> (41-32)) | (al4 << (32-(41-32))));\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // Ch\n h = (ah4 & ah5) ^ (~ah4 & ah6);\n l = (al4 & al5) ^ (~al4 & al6);\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // K\n h = K[i*2];\n l = K[i*2+1];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // w\n h = wh[i%16];\n l = wl[i%16];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n th = c & 0xffff | d << 16;\n tl = a & 0xffff | b << 16;\n\n // add\n h = th;\n l = tl;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n // Sigma0\n h = ((ah0 >>> 28) | (al0 << (32-28))) ^ ((al0 >>> (34-32)) | (ah0 << (32-(34-32)))) ^ ((al0 >>> (39-32)) | (ah0 << (32-(39-32))));\n l = ((al0 >>> 28) | (ah0 << (32-28))) ^ ((ah0 >>> (34-32)) | (al0 << (32-(34-32)))) ^ ((ah0 >>> (39-32)) | (al0 << (32-(39-32))));\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // Maj\n h = (ah0 & ah1) ^ (ah0 & ah2) ^ (ah1 & ah2);\n l = (al0 & al1) ^ (al0 & al2) ^ (al1 & al2);\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n bh7 = (c & 0xffff) | (d << 16);\n bl7 = (a & 0xffff) | (b << 16);\n\n // add\n h = bh3;\n l = bl3;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = th;\n l = tl;\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n bh3 = (c & 0xffff) | (d << 16);\n bl3 = (a & 0xffff) | (b << 16);\n\n ah1 = bh0;\n ah2 = bh1;\n ah3 = bh2;\n ah4 = bh3;\n ah5 = bh4;\n ah6 = bh5;\n ah7 = bh6;\n ah0 = bh7;\n\n al1 = bl0;\n al2 = bl1;\n al3 = bl2;\n al4 = bl3;\n al5 = bl4;\n al6 = bl5;\n al7 = bl6;\n al0 = bl7;\n\n if (i%16 === 15) {\n for (j = 0; j < 16; j++) {\n // add\n h = wh[j];\n l = wl[j];\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = wh[(j+9)%16];\n l = wl[(j+9)%16];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // sigma0\n th = wh[(j+1)%16];\n tl = wl[(j+1)%16];\n h = ((th >>> 1) | (tl << (32-1))) ^ ((th >>> 8) | (tl << (32-8))) ^ (th >>> 7);\n l = ((tl >>> 1) | (th << (32-1))) ^ ((tl >>> 8) | (th << (32-8))) ^ ((tl >>> 7) | (th << (32-7)));\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // sigma1\n th = wh[(j+14)%16];\n tl = wl[(j+14)%16];\n h = ((th >>> 19) | (tl << (32-19))) ^ ((tl >>> (61-32)) | (th << (32-(61-32)))) ^ (th >>> 6);\n l = ((tl >>> 19) | (th << (32-19))) ^ ((th >>> (61-32)) | (tl << (32-(61-32)))) ^ ((tl >>> 6) | (th << (32-6)));\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n wh[j] = (c & 0xffff) | (d << 16);\n wl[j] = (a & 0xffff) | (b << 16);\n }\n }\n }\n\n // add\n h = ah0;\n l = al0;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[0];\n l = hl[0];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[0] = ah0 = (c & 0xffff) | (d << 16);\n hl[0] = al0 = (a & 0xffff) | (b << 16);\n\n h = ah1;\n l = al1;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[1];\n l = hl[1];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[1] = ah1 = (c & 0xffff) | (d << 16);\n hl[1] = al1 = (a & 0xffff) | (b << 16);\n\n h = ah2;\n l = al2;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[2];\n l = hl[2];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[2] = ah2 = (c & 0xffff) | (d << 16);\n hl[2] = al2 = (a & 0xffff) | (b << 16);\n\n h = ah3;\n l = al3;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[3];\n l = hl[3];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[3] = ah3 = (c & 0xffff) | (d << 16);\n hl[3] = al3 = (a & 0xffff) | (b << 16);\n\n h = ah4;\n l = al4;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[4];\n l = hl[4];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[4] = ah4 = (c & 0xffff) | (d << 16);\n hl[4] = al4 = (a & 0xffff) | (b << 16);\n\n h = ah5;\n l = al5;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[5];\n l = hl[5];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[5] = ah5 = (c & 0xffff) | (d << 16);\n hl[5] = al5 = (a & 0xffff) | (b << 16);\n\n h = ah6;\n l = al6;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[6];\n l = hl[6];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[6] = ah6 = (c & 0xffff) | (d << 16);\n hl[6] = al6 = (a & 0xffff) | (b << 16);\n\n h = ah7;\n l = al7;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[7];\n l = hl[7];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[7] = ah7 = (c & 0xffff) | (d << 16);\n hl[7] = al7 = (a & 0xffff) | (b << 16);\n\n pos += 128;\n n -= 128;\n }\n}\n\nfunction HMAC (key) {\n if (!(this instanceof HMAC)) return new HMAC(key)\n\n this.pad = b4a.alloc(128)\n this.inner = Sha512()\n this.outer = Sha512()\n\n const keyhash = b4a.alloc(64)\n if (key.byteLength > 128) {\n Sha512().update(key).digest(keyhash)\n key = keyhash\n }\n\n this.pad.fill(0x36)\n for (let i = 0; i < key.byteLength; i++) {\n this.pad[i] ^= key[i]\n }\n this.inner.update(this.pad)\n\n this.pad.fill(0x5c)\n for (let i = 0; i < key.byteLength; i++) {\n this.pad[i] ^= key[i]\n }\n this.outer.update(this.pad)\n\n this.pad.fill(0)\n keyhash.fill(0)\n}\n\nHMAC.prototype.update = function (input, enc) {\n this.inner.update(input, enc)\n return this\n}\n\nHMAC.prototype.digest = function (enc, offset = 0) {\n this.outer.update(this.inner.digest())\n return this.outer.digest(enc, offset)\n}\n\nSha512.HMAC = HMAC\n", "var __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __toBinary = /* @__PURE__ */ (() => {\n var table = new Uint8Array(128);\n for (var i = 0; i < 64; i++)\n table[i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i * 4 - 205] = i;\n return (base64) => {\n var n = base64.length, bytes2 = new Uint8Array((n - (base64[n - 1] == \"=\") - (base64[n - 2] == \"=\")) * 3 / 4 | 0);\n for (var i2 = 0, j = 0; i2 < n; ) {\n var c0 = table[base64.charCodeAt(i2++)], c1 = table[base64.charCodeAt(i2++)];\n var c2 = table[base64.charCodeAt(i2++)], c3 = table[base64.charCodeAt(i2++)];\n bytes2[j++] = c0 << 2 | c1 >> 4;\n bytes2[j++] = c1 << 4 | c2 >> 2;\n bytes2[j++] = c2 << 6 | c3;\n }\n return bytes2;\n };\n})();\n\n// wasm-binary:./sha512.wat\nvar require_sha512 = __commonJS({\n \"wasm-binary:./sha512.wat\"(exports2, module2) {\n module2.exports = __toBinary(\"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\");\n }\n});\n\n// wasm-module:./sha512.wat\nvar bytes = require_sha512();\nvar compiled = new WebAssembly.Module(bytes);\nmodule.exports = (imports) => {\n const instance = new WebAssembly.Instance(compiled, imports);\n return instance.exports;\n};\n", "const assert = require('nanoassert')\nconst b4a = require('b4a')\n\nconst wasm = typeof WebAssembly !== 'undefined' && require('./sha512.js')({\n imports: {\n debug: {\n log (...args) {\n console.log(...args.map(int => (int >>> 0).toString(16).padStart(8, '0')))\n },\n log_tee (arg) {\n console.log((arg >>> 0).toString(16).padStart(8, '0'))\n return arg\n }\n }\n }\n})\n\nlet head = 0\n// assetrt head % 8 === 0 to guarantee alignment\nconst freeList = []\n\nmodule.exports = Sha512\nconst SHA512_BYTES = module.exports.SHA512_BYTES = 64\nconst INPUT_OFFSET = 80\nconst STATEBYTES = 216\nconst BLOCKSIZE = 128\n\nfunction Sha512 () {\n if (!(this instanceof Sha512)) return new Sha512()\n if (!(wasm)) throw new Error('WASM not loaded. Wait for Sha512.ready(cb)')\n\n if (!freeList.length) {\n freeList.push(head)\n head += STATEBYTES\n }\n\n this.finalized = false\n this.digestLength = SHA512_BYTES\n this.pointer = freeList.pop()\n this.pos = 0\n this.wasm = wasm\n\n this._memory = new Uint8Array(wasm.memory.buffer)\n this._memory.fill(0, this.pointer, this.pointer + STATEBYTES)\n\n if (this.pointer + this.digestLength > this._memory.length) this._realloc(this.pointer + STATEBYTES)\n}\n\nSha512.prototype._realloc = function (size) {\n wasm.memory.grow(Math.max(0, Math.ceil(Math.abs(size - this._memory.length) / 65536)))\n this._memory = new Uint8Array(wasm.memory.buffer)\n}\n\nSha512.prototype.update = function (input, enc) {\n assert(this.finalized === false, 'Hash instance finalized')\n\n if (head % 8 !== 0) head += 8 - head % 8\n assert(head % 8 === 0, 'input should be aligned for int64')\n\n const [inputBuf, length] = formatInput(input, enc)\n\n assert(inputBuf instanceof Uint8Array, 'input must be Uint8Array or Buffer')\n\n if (head + input.length > this._memory.length) this._realloc(head + input.length)\n\n this._memory.fill(0, head, head + roundUp(length, BLOCKSIZE) - BLOCKSIZE)\n this._memory.set(inputBuf.subarray(0, BLOCKSIZE - this.pos), this.pointer + INPUT_OFFSET + this.pos)\n this._memory.set(inputBuf.subarray(BLOCKSIZE - this.pos), head)\n\n this.pos = (this.pos + length) & 0x7f\n wasm.sha512(this.pointer, head, length, 0)\n\n return this\n}\n\nSha512.prototype.digest = function (enc, offset = 0) {\n assert(this.finalized === false, 'Hash instance finalized')\n\n this.finalized = true\n freeList.push(this.pointer)\n\n const paddingStart = this.pointer + INPUT_OFFSET + this.pos\n this._memory.fill(0, paddingStart, this.pointer + INPUT_OFFSET + BLOCKSIZE)\n wasm.sha512(this.pointer, head, 0, 1)\n\n const resultBuf = this._memory.subarray(this.pointer, this.pointer + this.digestLength)\n\n if (!enc) {\n return resultBuf\n }\n\n if (typeof enc === 'string') {\n return b4a.toString(resultBuf, enc)\n }\n\n assert(enc instanceof Uint8Array, 'output must be Uint8Array or Buffer')\n assert(enc.byteLength >= this.digestLength + offset,\n \"output must have at least 'SHA512_BYTES' bytes remaining\")\n\n for (let i = 0; i < this.digestLength; i++) {\n enc[i + offset] = resultBuf[i]\n }\n\n return enc\n}\n\nSha512.WASM = wasm\nSha512.WASM_SUPPORTED = typeof WebAssembly !== 'undefined'\n\nSha512.ready = function (cb) {\n if (!cb) cb = noop\n if (!wasm) return cb(new Error('WebAssembly not supported'))\n cb()\n return Promise.resolve()\n}\n\nSha512.prototype.ready = Sha512.ready\n\nfunction HMAC (key) {\n if (!(this instanceof HMAC)) return new HMAC(key)\n\n this.pad = b4a.alloc(128)\n this.inner = Sha512()\n this.outer = Sha512()\n\n const keyhash = b4a.alloc(64)\n if (key.byteLength > 128) {\n Sha512().update(key).digest(keyhash)\n key = keyhash\n }\n\n this.pad.fill(0x36)\n for (let i = 0; i < key.byteLength; i++) {\n this.pad[i] ^= key[i]\n }\n this.inner.update(this.pad)\n\n this.pad.fill(0x5c)\n for (let i = 0; i < key.byteLength; i++) {\n this.pad[i] ^= key[i]\n }\n this.outer.update(this.pad)\n\n this.pad.fill(0)\n keyhash.fill(0)\n}\n\nHMAC.prototype.update = function (input, enc) {\n this.inner.update(input, enc)\n return this\n}\n\nHMAC.prototype.digest = function (enc, offset = 0) {\n this.outer.update(this.inner.digest())\n return this.outer.digest(enc, offset)\n}\n\nSha512.HMAC = HMAC\n\nfunction noop () {}\n\nfunction formatInput (input, enc) {\n var result = b4a.from(input, enc)\n\n return [result, result.byteLength]\n}\n\n// only works for base that is power of 2\nfunction roundUp (n, base) {\n return (n + base - 1) & -base\n}\n", "const js = require('./sha512.js')\nconst wasm = require('sha512-wasm')\n\nvar Proto = js\n\nmodule.exports = function () {\n return new Proto()\n}\n\nmodule.exports.ready = function (cb) {\n wasm.ready(function () { // ignore errors\n cb()\n })\n}\n\nmodule.exports.WASM_SUPPORTED = wasm.SUPPORTED\nmodule.exports.WASM_LOADED = false\n\nvar SHA512_BYTES = module.exports.SHA512_BYTES = 64\n\nwasm.ready(function (err) {\n if (!err) {\n module.exports.WASM_LOADED = true\n module.exports = Proto = wasm\n }\n})\n", "/* eslint-disable camelcase */\nconst { crypto_verify_32 } = require('./crypto_verify')\nconst Sha512 = require('sha512-universal')\nconst assert = require('nanoassert')\n\nconst crypto_auth_BYTES = 32\nconst crypto_auth_KEYBYTES = 32\n\nfunction crypto_auth (out, input, k) {\n assert(out.byteLength === crypto_auth_BYTES, \"out should be 'crypto_auth_BYTES' in length\")\n assert(k.byteLength === crypto_auth_KEYBYTES, \"key should be 'crypto_auth_KEYBYTES' in length\")\n\n const out0 = new Uint8Array(64)\n const hmac = Sha512.HMAC(k)\n hmac.update(input)\n hmac.digest(out0)\n\n out.set(out0.subarray(0, 32))\n}\n\nfunction crypto_auth_verify (h, input, k) {\n assert(h.byteLength === crypto_auth_BYTES, \"h should be 'crypto_auth_BYTES' in length\")\n assert(k.byteLength === crypto_auth_KEYBYTES, \"key should be 'crypto_auth_KEYBYTES' in length\")\n\n const correct = Sha512.HMAC(k).update(input).digest()\n\n return crypto_verify_32(h, 0, correct, 0)\n}\n\nmodule.exports = {\n crypto_auth_BYTES,\n crypto_auth_KEYBYTES,\n crypto_auth,\n crypto_auth_verify\n}\n", "/* eslint-disable camelcase */\nconst sha512 = require('sha512-universal')\nconst assert = require('nanoassert')\n\nif (new Uint16Array([1])[0] !== 1) throw new Error('Big endian architecture is not supported.')\n\nconst crypto_hash_sha512_BYTES = 64\nconst crypto_hash_BYTES = crypto_hash_sha512_BYTES\n\nfunction crypto_hash_sha512 (out, m, n) {\n assert(out.byteLength === crypto_hash_sha512_BYTES, \"out must be 'crypto_hash_sha512_BYTES' bytes long\")\n\n sha512().update(m.subarray(0, n)).digest(out)\n return 0\n}\n\nfunction crypto_hash (out, m, n) {\n return crypto_hash_sha512(out, m, n)\n}\n\nmodule.exports = {\n crypto_hash,\n crypto_hash_sha512,\n crypto_hash_sha512_BYTES,\n crypto_hash_BYTES\n}\n", "if (new Uint16Array([1])[0] !== 1) throw new Error('Big endian architecture is not supported.')\n\nvar gf = function(init) {\n var i, r = new Float64Array(16);\n if (init) for (i = 0; i < init.length; i++) r[i] = init[i];\n return r;\n}\n\nvar _0 = new Uint8Array(16);\nvar _9 = new Uint8Array(32); _9[0] = 9;\n\nvar gf0 = gf(),\n gf1 = gf([1]),\n _121665 = gf([0xdb41, 1]),\n D = gf([0x78a3, 0x1359, 0x4dca, 0x75eb, 0xd8ab, 0x4141, 0x0a4d, 0x0070, 0xe898, 0x7779, 0x4079, 0x8cc7, 0xfe73, 0x2b6f, 0x6cee, 0x5203]),\n D2 = gf([0xf159, 0x26b2, 0x9b94, 0xebd6, 0xb156, 0x8283, 0x149a, 0x00e0, 0xd130, 0xeef3, 0x80f2, 0x198e, 0xfce7, 0x56df, 0xd9dc, 0x2406]),\n X = gf([0xd51a, 0x8f25, 0x2d60, 0xc956, 0xa7b2, 0x9525, 0xc760, 0x692c, 0xdc5c, 0xfdd6, 0xe231, 0xc0a4, 0x53fe, 0xcd6e, 0x36d3, 0x2169]),\n Y = gf([0x6658, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666]),\n I = gf([0xa0b0, 0x4a0e, 0x1b27, 0xc4ee, 0xe478, 0xad2f, 0x1806, 0x2f43, 0xd7a7, 0x3dfb, 0x0099, 0x2b4d, 0xdf0b, 0x4fc1, 0x2480, 0x2b83]);\n\nfunction A(o, a, b) {\n for (var i = 0; i < 16; i++) o[i] = a[i] + b[i];\n}\n\nfunction Z(o, a, b) {\n for (var i = 0; i < 16; i++) o[i] = a[i] - b[i];\n}\n\nfunction M(o, a, b) {\n var v, c,\n t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, t5 = 0, t6 = 0, t7 = 0,\n t8 = 0, t9 = 0, t10 = 0, t11 = 0, t12 = 0, t13 = 0, t14 = 0, t15 = 0,\n t16 = 0, t17 = 0, t18 = 0, t19 = 0, t20 = 0, t21 = 0, t22 = 0, t23 = 0,\n t24 = 0, t25 = 0, t26 = 0, t27 = 0, t28 = 0, t29 = 0, t30 = 0,\n b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3],\n b4 = b[4],\n b5 = b[5],\n b6 = b[6],\n b7 = b[7],\n b8 = b[8],\n b9 = b[9],\n b10 = b[10],\n b11 = b[11],\n b12 = b[12],\n b13 = b[13],\n b14 = b[14],\n b15 = b[15];\n\n v = a[0];\n t0 += v * b0;\n t1 += v * b1;\n t2 += v * b2;\n t3 += v * b3;\n t4 += v * b4;\n t5 += v * b5;\n t6 += v * b6;\n t7 += v * b7;\n t8 += v * b8;\n t9 += v * b9;\n t10 += v * b10;\n t11 += v * b11;\n t12 += v * b12;\n t13 += v * b13;\n t14 += v * b14;\n t15 += v * b15;\n v = a[1];\n t1 += v * b0;\n t2 += v * b1;\n t3 += v * b2;\n t4 += v * b3;\n t5 += v * b4;\n t6 += v * b5;\n t7 += v * b6;\n t8 += v * b7;\n t9 += v * b8;\n t10 += v * b9;\n t11 += v * b10;\n t12 += v * b11;\n t13 += v * b12;\n t14 += v * b13;\n t15 += v * b14;\n t16 += v * b15;\n v = a[2];\n t2 += v * b0;\n t3 += v * b1;\n t4 += v * b2;\n t5 += v * b3;\n t6 += v * b4;\n t7 += v * b5;\n t8 += v * b6;\n t9 += v * b7;\n t10 += v * b8;\n t11 += v * b9;\n t12 += v * b10;\n t13 += v * b11;\n t14 += v * b12;\n t15 += v * b13;\n t16 += v * b14;\n t17 += v * b15;\n v = a[3];\n t3 += v * b0;\n t4 += v * b1;\n t5 += v * b2;\n t6 += v * b3;\n t7 += v * b4;\n t8 += v * b5;\n t9 += v * b6;\n t10 += v * b7;\n t11 += v * b8;\n t12 += v * b9;\n t13 += v * b10;\n t14 += v * b11;\n t15 += v * b12;\n t16 += v * b13;\n t17 += v * b14;\n t18 += v * b15;\n v = a[4];\n t4 += v * b0;\n t5 += v * b1;\n t6 += v * b2;\n t7 += v * b3;\n t8 += v * b4;\n t9 += v * b5;\n t10 += v * b6;\n t11 += v * b7;\n t12 += v * b8;\n t13 += v * b9;\n t14 += v * b10;\n t15 += v * b11;\n t16 += v * b12;\n t17 += v * b13;\n t18 += v * b14;\n t19 += v * b15;\n v = a[5];\n t5 += v * b0;\n t6 += v * b1;\n t7 += v * b2;\n t8 += v * b3;\n t9 += v * b4;\n t10 += v * b5;\n t11 += v * b6;\n t12 += v * b7;\n t13 += v * b8;\n t14 += v * b9;\n t15 += v * b10;\n t16 += v * b11;\n t17 += v * b12;\n t18 += v * b13;\n t19 += v * b14;\n t20 += v * b15;\n v = a[6];\n t6 += v * b0;\n t7 += v * b1;\n t8 += v * b2;\n t9 += v * b3;\n t10 += v * b4;\n t11 += v * b5;\n t12 += v * b6;\n t13 += v * b7;\n t14 += v * b8;\n t15 += v * b9;\n t16 += v * b10;\n t17 += v * b11;\n t18 += v * b12;\n t19 += v * b13;\n t20 += v * b14;\n t21 += v * b15;\n v = a[7];\n t7 += v * b0;\n t8 += v * b1;\n t9 += v * b2;\n t10 += v * b3;\n t11 += v * b4;\n t12 += v * b5;\n t13 += v * b6;\n t14 += v * b7;\n t15 += v * b8;\n t16 += v * b9;\n t17 += v * b10;\n t18 += v * b11;\n t19 += v * b12;\n t20 += v * b13;\n t21 += v * b14;\n t22 += v * b15;\n v = a[8];\n t8 += v * b0;\n t9 += v * b1;\n t10 += v * b2;\n t11 += v * b3;\n t12 += v * b4;\n t13 += v * b5;\n t14 += v * b6;\n t15 += v * b7;\n t16 += v * b8;\n t17 += v * b9;\n t18 += v * b10;\n t19 += v * b11;\n t20 += v * b12;\n t21 += v * b13;\n t22 += v * b14;\n t23 += v * b15;\n v = a[9];\n t9 += v * b0;\n t10 += v * b1;\n t11 += v * b2;\n t12 += v * b3;\n t13 += v * b4;\n t14 += v * b5;\n t15 += v * b6;\n t16 += v * b7;\n t17 += v * b8;\n t18 += v * b9;\n t19 += v * b10;\n t20 += v * b11;\n t21 += v * b12;\n t22 += v * b13;\n t23 += v * b14;\n t24 += v * b15;\n v = a[10];\n t10 += v * b0;\n t11 += v * b1;\n t12 += v * b2;\n t13 += v * b3;\n t14 += v * b4;\n t15 += v * b5;\n t16 += v * b6;\n t17 += v * b7;\n t18 += v * b8;\n t19 += v * b9;\n t20 += v * b10;\n t21 += v * b11;\n t22 += v * b12;\n t23 += v * b13;\n t24 += v * b14;\n t25 += v * b15;\n v = a[11];\n t11 += v * b0;\n t12 += v * b1;\n t13 += v * b2;\n t14 += v * b3;\n t15 += v * b4;\n t16 += v * b5;\n t17 += v * b6;\n t18 += v * b7;\n t19 += v * b8;\n t20 += v * b9;\n t21 += v * b10;\n t22 += v * b11;\n t23 += v * b12;\n t24 += v * b13;\n t25 += v * b14;\n t26 += v * b15;\n v = a[12];\n t12 += v * b0;\n t13 += v * b1;\n t14 += v * b2;\n t15 += v * b3;\n t16 += v * b4;\n t17 += v * b5;\n t18 += v * b6;\n t19 += v * b7;\n t20 += v * b8;\n t21 += v * b9;\n t22 += v * b10;\n t23 += v * b11;\n t24 += v * b12;\n t25 += v * b13;\n t26 += v * b14;\n t27 += v * b15;\n v = a[13];\n t13 += v * b0;\n t14 += v * b1;\n t15 += v * b2;\n t16 += v * b3;\n t17 += v * b4;\n t18 += v * b5;\n t19 += v * b6;\n t20 += v * b7;\n t21 += v * b8;\n t22 += v * b9;\n t23 += v * b10;\n t24 += v * b11;\n t25 += v * b12;\n t26 += v * b13;\n t27 += v * b14;\n t28 += v * b15;\n v = a[14];\n t14 += v * b0;\n t15 += v * b1;\n t16 += v * b2;\n t17 += v * b3;\n t18 += v * b4;\n t19 += v * b5;\n t20 += v * b6;\n t21 += v * b7;\n t22 += v * b8;\n t23 += v * b9;\n t24 += v * b10;\n t25 += v * b11;\n t26 += v * b12;\n t27 += v * b13;\n t28 += v * b14;\n t29 += v * b15;\n v = a[15];\n t15 += v * b0;\n t16 += v * b1;\n t17 += v * b2;\n t18 += v * b3;\n t19 += v * b4;\n t20 += v * b5;\n t21 += v * b6;\n t22 += v * b7;\n t23 += v * b8;\n t24 += v * b9;\n t25 += v * b10;\n t26 += v * b11;\n t27 += v * b12;\n t28 += v * b13;\n t29 += v * b14;\n t30 += v * b15;\n\n t0 += 38 * t16;\n t1 += 38 * t17;\n t2 += 38 * t18;\n t3 += 38 * t19;\n t4 += 38 * t20;\n t5 += 38 * t21;\n t6 += 38 * t22;\n t7 += 38 * t23;\n t8 += 38 * t24;\n t9 += 38 * t25;\n t10 += 38 * t26;\n t11 += 38 * t27;\n t12 += 38 * t28;\n t13 += 38 * t29;\n t14 += 38 * t30;\n // t15 left as is\n\n // first car\n c = 1;\n v = t0 + c + 65535; c = Math.floor(v / 65536); t0 = v - c * 65536;\n v = t1 + c + 65535; c = Math.floor(v / 65536); t1 = v - c * 65536;\n v = t2 + c + 65535; c = Math.floor(v / 65536); t2 = v - c * 65536;\n v = t3 + c + 65535; c = Math.floor(v / 65536); t3 = v - c * 65536;\n v = t4 + c + 65535; c = Math.floor(v / 65536); t4 = v - c * 65536;\n v = t5 + c + 65535; c = Math.floor(v / 65536); t5 = v - c * 65536;\n v = t6 + c + 65535; c = Math.floor(v / 65536); t6 = v - c * 65536;\n v = t7 + c + 65535; c = Math.floor(v / 65536); t7 = v - c * 65536;\n v = t8 + c + 65535; c = Math.floor(v / 65536); t8 = v - c * 65536;\n v = t9 + c + 65535; c = Math.floor(v / 65536); t9 = v - c * 65536;\n v = t10 + c + 65535; c = Math.floor(v / 65536); t10 = v - c * 65536;\n v = t11 + c + 65535; c = Math.floor(v / 65536); t11 = v - c * 65536;\n v = t12 + c + 65535; c = Math.floor(v / 65536); t12 = v - c * 65536;\n v = t13 + c + 65535; c = Math.floor(v / 65536); t13 = v - c * 65536;\n v = t14 + c + 65535; c = Math.floor(v / 65536); t14 = v - c * 65536;\n v = t15 + c + 65535; c = Math.floor(v / 65536); t15 = v - c * 65536;\n t0 += c-1 + 37 * (c-1);\n\n // second car\n c = 1;\n v = t0 + c + 65535; c = Math.floor(v / 65536); t0 = v - c * 65536;\n v = t1 + c + 65535; c = Math.floor(v / 65536); t1 = v - c * 65536;\n v = t2 + c + 65535; c = Math.floor(v / 65536); t2 = v - c * 65536;\n v = t3 + c + 65535; c = Math.floor(v / 65536); t3 = v - c * 65536;\n v = t4 + c + 65535; c = Math.floor(v / 65536); t4 = v - c * 65536;\n v = t5 + c + 65535; c = Math.floor(v / 65536); t5 = v - c * 65536;\n v = t6 + c + 65535; c = Math.floor(v / 65536); t6 = v - c * 65536;\n v = t7 + c + 65535; c = Math.floor(v / 65536); t7 = v - c * 65536;\n v = t8 + c + 65535; c = Math.floor(v / 65536); t8 = v - c * 65536;\n v = t9 + c + 65535; c = Math.floor(v / 65536); t9 = v - c * 65536;\n v = t10 + c + 65535; c = Math.floor(v / 65536); t10 = v - c * 65536;\n v = t11 + c + 65535; c = Math.floor(v / 65536); t11 = v - c * 65536;\n v = t12 + c + 65535; c = Math.floor(v / 65536); t12 = v - c * 65536;\n v = t13 + c + 65535; c = Math.floor(v / 65536); t13 = v - c * 65536;\n v = t14 + c + 65535; c = Math.floor(v / 65536); t14 = v - c * 65536;\n v = t15 + c + 65535; c = Math.floor(v / 65536); t15 = v - c * 65536;\n t0 += c-1 + 37 * (c-1);\n\n o[ 0] = t0;\n o[ 1] = t1;\n o[ 2] = t2;\n o[ 3] = t3;\n o[ 4] = t4;\n o[ 5] = t5;\n o[ 6] = t6;\n o[ 7] = t7;\n o[ 8] = t8;\n o[ 9] = t9;\n o[10] = t10;\n o[11] = t11;\n o[12] = t12;\n o[13] = t13;\n o[14] = t14;\n o[15] = t15;\n}\n\nfunction S(o, a) {\n M(o, a, a);\n}\n\nfunction sel25519(p, q, b) {\n var t, c = ~(b-1);\n for (var i = 0; i < 16; i++) {\n t = c & (p[i] ^ q[i]);\n p[i] ^= t;\n q[i] ^= t;\n }\n}\n\nfunction pack25519(o, n) {\n var i, j, b;\n var m = gf(), t = gf();\n for (i = 0; i < 16; i++) t[i] = n[i];\n car25519(t);\n car25519(t);\n car25519(t);\n for (j = 0; j < 2; j++) {\n m[0] = t[0] - 0xffed;\n for (i = 1; i < 15; i++) {\n m[i] = t[i] - 0xffff - ((m[i-1]>>16) & 1);\n m[i-1] &= 0xffff;\n }\n m[15] = t[15] - 0x7fff - ((m[14]>>16) & 1);\n b = (m[15]>>16) & 1;\n m[14] &= 0xffff;\n sel25519(t, m, 1-b);\n }\n for (i = 0; i < 16; i++) {\n o[2*i] = t[i] & 0xff;\n o[2*i+1] = t[i]>>8;\n }\n}\n\nfunction unpack25519(o, n) {\n var i;\n for (i = 0; i < 16; i++) o[i] = n[2*i] + (n[2*i+1] << 8);\n o[15] &= 0x7fff;\n}\n\nfunction inv25519(o, i) {\n var c = gf();\n var a;\n for (a = 0; a < 16; a++) c[a] = i[a];\n for (a = 253; a >= 0; a--) {\n S(c, c);\n if(a !== 2 && a !== 4) M(c, c, i);\n }\n for (a = 0; a < 16; a++) o[a] = c[a];\n}\n\nfunction car25519(o) {\n var i, v, c = 1;\n for (i = 0; i < 16; i++) {\n v = o[i] + c + 65535;\n c = Math.floor(v / 65536);\n o[i] = v - c * 65536;\n }\n o[0] += c-1 + 37 * (c-1);\n}\n\nmodule.exports = {\n gf,\n A,\n Z,\n M,\n S,\n sel25519,\n pack25519,\n unpack25519,\n inv25519,\n gf0,\n gf1,\n _9,\n _121665,\n D,\n D2,\n X,\n Y,\n I\n}\n", "/* eslint-disable camelcase, one-var */\nconst { _9, _121665, gf, inv25519, pack25519, unpack25519, sel25519, A, M, Z, S } = require('./internal/ed25519')\n\nconst crypto_scalarmult_BYTES = 32\nconst crypto_scalarmult_SCALARBYTES = 32\n\nmodule.exports = {\n crypto_scalarmult,\n crypto_scalarmult_base,\n crypto_scalarmult_BYTES,\n crypto_scalarmult_SCALARBYTES\n}\n\nfunction crypto_scalarmult (q, n, p) {\n check(q, crypto_scalarmult_BYTES)\n check(n, crypto_scalarmult_SCALARBYTES)\n check(p, crypto_scalarmult_BYTES)\n var z = new Uint8Array(32)\n var x = new Float64Array(80), r, i\n var a = gf(), b = gf(), c = gf(),\n d = gf(), e = gf(), f = gf()\n for (i = 0; i < 31; i++) z[i] = n[i]\n z[31] = (n[31] & 127) | 64\n z[0] &= 248\n unpack25519(x, p)\n for (i = 0; i < 16; i++) {\n b[i] = x[i]\n d[i] = a[i] = c[i] = 0\n }\n a[0] = d[0] = 1\n for (i = 254; i >= 0; --i) {\n r = (z[i >>> 3] >>> (i & 7)) & 1\n sel25519(a, b, r)\n sel25519(c, d, r)\n A(e, a, c)\n Z(a, a, c)\n A(c, b, d)\n Z(b, b, d)\n S(d, e)\n S(f, a)\n M(a, c, a)\n M(c, b, e)\n A(e, a, c)\n Z(a, a, c)\n S(b, a)\n Z(c, d, f)\n M(a, c, _121665)\n A(a, a, d)\n M(c, c, a)\n M(a, d, f)\n M(d, b, x)\n S(b, e)\n sel25519(a, b, r)\n sel25519(c, d, r)\n }\n for (i = 0; i < 16; i++) {\n x[i + 16] = a[i]\n x[i + 32] = c[i]\n x[i + 48] = b[i]\n x[i + 64] = d[i]\n }\n var x32 = x.subarray(32)\n var x16 = x.subarray(16)\n inv25519(x32, x32)\n M(x16, x16, x32)\n pack25519(q, x16)\n return 0\n}\n\nfunction crypto_scalarmult_base (q, n) {\n return crypto_scalarmult(q, n, _9)\n}\n\nfunction check (buf, len) {\n if (!buf || (len && buf.length < len)) throw new Error('Argument must be a buffer' + (len ? ' of length ' + len : ''))\n}\n", "var __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __toBinary = /* @__PURE__ */ (() => {\n var table = new Uint8Array(128);\n for (var i = 0; i < 64; i++)\n table[i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i * 4 - 205] = i;\n return (base64) => {\n var n = base64.length, bytes2 = new Uint8Array((n - (base64[n - 1] == \"=\") - (base64[n - 2] == \"=\")) * 3 / 4 | 0);\n for (var i2 = 0, j = 0; i2 < n; ) {\n var c0 = table[base64.charCodeAt(i2++)], c1 = table[base64.charCodeAt(i2++)];\n var c2 = table[base64.charCodeAt(i2++)], c3 = table[base64.charCodeAt(i2++)];\n bytes2[j++] = c0 << 2 | c1 >> 4;\n bytes2[j++] = c1 << 4 | c2 >> 2;\n bytes2[j++] = c2 << 6 | c3;\n }\n return bytes2;\n };\n})();\n\n// wasm-binary:./blake2b.wat\nvar require_blake2b = __commonJS({\n \"wasm-binary:./blake2b.wat\"(exports2, module2) {\n module2.exports = __toBinary(\"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\");\n }\n});\n\n// wasm-module:./blake2b.wat\nvar bytes = require_blake2b();\nvar compiled = WebAssembly.compile(bytes);\nmodule.exports = async (imports) => {\n const instance = await WebAssembly.instantiate(await compiled, imports);\n return instance.exports;\n};\n", "var assert = require('nanoassert')\nvar b4a = require('b4a')\n\nvar wasm = null\nvar wasmPromise = typeof WebAssembly !== \"undefined\" && require('./blake2b')().then(mod => {\n wasm = mod\n})\n\nvar head = 64\nvar freeList = []\n\nmodule.exports = Blake2b\nvar BYTES_MIN = module.exports.BYTES_MIN = 16\nvar BYTES_MAX = module.exports.BYTES_MAX = 64\nvar BYTES = module.exports.BYTES = 32\nvar KEYBYTES_MIN = module.exports.KEYBYTES_MIN = 16\nvar KEYBYTES_MAX = module.exports.KEYBYTES_MAX = 64\nvar KEYBYTES = module.exports.KEYBYTES = 32\nvar SALTBYTES = module.exports.SALTBYTES = 16\nvar PERSONALBYTES = module.exports.PERSONALBYTES = 16\n\nfunction Blake2b (digestLength, key, salt, personal, noAssert) {\n if (!(this instanceof Blake2b)) return new Blake2b(digestLength, key, salt, personal, noAssert)\n if (!wasm) throw new Error('WASM not loaded. Wait for Blake2b.ready(cb)')\n if (!digestLength) digestLength = 32\n\n if (noAssert !== true) {\n assert(digestLength >= BYTES_MIN, 'digestLength must be at least ' + BYTES_MIN + ', was given ' + digestLength)\n assert(digestLength <= BYTES_MAX, 'digestLength must be at most ' + BYTES_MAX + ', was given ' + digestLength)\n if (key != null) {\n assert(key instanceof Uint8Array, 'key must be Uint8Array or Buffer')\n assert(key.length >= KEYBYTES_MIN, 'key must be at least ' + KEYBYTES_MIN + ', was given ' + key.length)\n assert(key.length <= KEYBYTES_MAX, 'key must be at least ' + KEYBYTES_MAX + ', was given ' + key.length)\n }\n if (salt != null) {\n assert(salt instanceof Uint8Array, 'salt must be Uint8Array or Buffer')\n assert(salt.length === SALTBYTES, 'salt must be exactly ' + SALTBYTES + ', was given ' + salt.length)\n }\n if (personal != null) {\n assert(personal instanceof Uint8Array, 'personal must be Uint8Array or Buffer')\n assert(personal.length === PERSONALBYTES, 'personal must be exactly ' + PERSONALBYTES + ', was given ' + personal.length)\n }\n }\n\n if (!freeList.length) {\n freeList.push(head)\n head += 216\n }\n\n this.digestLength = digestLength\n this.finalized = false\n this.pointer = freeList.pop()\n this._memory = new Uint8Array(wasm.memory.buffer)\n\n this._memory.fill(0, 0, 64)\n this._memory[0] = this.digestLength\n this._memory[1] = key ? key.length : 0\n this._memory[2] = 1 // fanout\n this._memory[3] = 1 // depth\n\n if (salt) this._memory.set(salt, 32)\n if (personal) this._memory.set(personal, 48)\n\n if (this.pointer + 216 > this._memory.length) this._realloc(this.pointer + 216) // we need 216 bytes for the state\n wasm.blake2b_init(this.pointer, this.digestLength)\n\n if (key) {\n this.update(key)\n this._memory.fill(0, head, head + key.length) // whiteout key\n this._memory[this.pointer + 200] = 128\n }\n}\n\nBlake2b.prototype._realloc = function (size) {\n wasm.memory.grow(Math.max(0, Math.ceil(Math.abs(size - this._memory.length) / 65536)))\n this._memory = new Uint8Array(wasm.memory.buffer)\n}\n\nBlake2b.prototype.update = function (input) {\n assert(this.finalized === false, 'Hash instance finalized')\n assert(input instanceof Uint8Array, 'input must be Uint8Array or Buffer')\n\n if (head + input.length > this._memory.length) this._realloc(head + input.length)\n this._memory.set(input, head)\n wasm.blake2b_update(this.pointer, head, head + input.length)\n return this\n}\n\nBlake2b.prototype.digest = function (enc) {\n assert(this.finalized === false, 'Hash instance finalized')\n this.finalized = true\n\n freeList.push(this.pointer)\n wasm.blake2b_final(this.pointer)\n\n if (!enc || enc === 'binary') {\n return this._memory.slice(this.pointer + 128, this.pointer + 128 + this.digestLength)\n }\n\n if (typeof enc === 'string') {\n return b4a.toString(this._memory, enc, this.pointer + 128, this.pointer + 128 + this.digestLength)\n }\n\n assert(enc instanceof Uint8Array && enc.length >= this.digestLength, 'input must be Uint8Array or Buffer')\n for (var i = 0; i < this.digestLength; i++) {\n enc[i] = this._memory[this.pointer + 128 + i]\n }\n\n return enc\n}\n\n// libsodium compat\nBlake2b.prototype.final = Blake2b.prototype.digest\n\nBlake2b.WASM = wasm\nBlake2b.SUPPORTED = typeof WebAssembly !== 'undefined'\n\nBlake2b.ready = function (cb) {\n if (!cb) cb = noop\n if (!wasmPromise) return cb(new Error('WebAssembly not supported'))\n return wasmPromise.then(() => cb(), cb)\n}\n\nBlake2b.prototype.ready = Blake2b.ready\n\nBlake2b.prototype.getPartialHash = function () {\n return this._memory.slice(this.pointer, this.pointer + 216);\n}\n\nBlake2b.prototype.setPartialHash = function (ph) {\n this._memory.set(ph, this.pointer);\n}\n\nfunction noop () {}\n", "var assert = require('nanoassert')\nvar b2wasm = require('blake2b-wasm')\n\n// 64-bit unsigned addition\n// Sets v[a,a+1] += v[b,b+1]\n// v should be a Uint32Array\nfunction ADD64AA (v, a, b) {\n var o0 = v[a] + v[b]\n var o1 = v[a + 1] + v[b + 1]\n if (o0 >= 0x100000000) {\n o1++\n }\n v[a] = o0\n v[a + 1] = o1\n}\n\n// 64-bit unsigned addition\n// Sets v[a,a+1] += b\n// b0 is the low 32 bits of b, b1 represents the high 32 bits\nfunction ADD64AC (v, a, b0, b1) {\n var o0 = v[a] + b0\n if (b0 < 0) {\n o0 += 0x100000000\n }\n var o1 = v[a + 1] + b1\n if (o0 >= 0x100000000) {\n o1++\n }\n v[a] = o0\n v[a + 1] = o1\n}\n\n// Little-endian byte access\nfunction B2B_GET32 (arr, i) {\n return (arr[i] ^\n (arr[i + 1] << 8) ^\n (arr[i + 2] << 16) ^\n (arr[i + 3] << 24))\n}\n\n// G Mixing function\n// The ROTRs are inlined for speed\nfunction B2B_G (a, b, c, d, ix, iy) {\n var x0 = m[ix]\n var x1 = m[ix + 1]\n var y0 = m[iy]\n var y1 = m[iy + 1]\n\n ADD64AA(v, a, b) // v[a,a+1] += v[b,b+1] ... in JS we must store a uint64 as two uint32s\n ADD64AC(v, a, x0, x1) // v[a, a+1] += x ... x0 is the low 32 bits of x, x1 is the high 32 bits\n\n // v[d,d+1] = (v[d,d+1] xor v[a,a+1]) rotated to the right by 32 bits\n var xor0 = v[d] ^ v[a]\n var xor1 = v[d + 1] ^ v[a + 1]\n v[d] = xor1\n v[d + 1] = xor0\n\n ADD64AA(v, c, d)\n\n // v[b,b+1] = (v[b,b+1] xor v[c,c+1]) rotated right by 24 bits\n xor0 = v[b] ^ v[c]\n xor1 = v[b + 1] ^ v[c + 1]\n v[b] = (xor0 >>> 24) ^ (xor1 << 8)\n v[b + 1] = (xor1 >>> 24) ^ (xor0 << 8)\n\n ADD64AA(v, a, b)\n ADD64AC(v, a, y0, y1)\n\n // v[d,d+1] = (v[d,d+1] xor v[a,a+1]) rotated right by 16 bits\n xor0 = v[d] ^ v[a]\n xor1 = v[d + 1] ^ v[a + 1]\n v[d] = (xor0 >>> 16) ^ (xor1 << 16)\n v[d + 1] = (xor1 >>> 16) ^ (xor0 << 16)\n\n ADD64AA(v, c, d)\n\n // v[b,b+1] = (v[b,b+1] xor v[c,c+1]) rotated right by 63 bits\n xor0 = v[b] ^ v[c]\n xor1 = v[b + 1] ^ v[c + 1]\n v[b] = (xor1 >>> 31) ^ (xor0 << 1)\n v[b + 1] = (xor0 >>> 31) ^ (xor1 << 1)\n}\n\n// Initialization Vector\nvar BLAKE2B_IV32 = new Uint32Array([\n 0xF3BCC908, 0x6A09E667, 0x84CAA73B, 0xBB67AE85,\n 0xFE94F82B, 0x3C6EF372, 0x5F1D36F1, 0xA54FF53A,\n 0xADE682D1, 0x510E527F, 0x2B3E6C1F, 0x9B05688C,\n 0xFB41BD6B, 0x1F83D9AB, 0x137E2179, 0x5BE0CD19\n])\n\nvar SIGMA8 = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3,\n 11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4,\n 7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8,\n 9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13,\n 2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9,\n 12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11,\n 13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10,\n 6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5,\n 10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0,\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3\n]\n\n// These are offsets into a uint64 buffer.\n// Multiply them all by 2 to make them offsets into a uint32 buffer,\n// because this is Javascript and we don't have uint64s\nvar SIGMA82 = new Uint8Array(SIGMA8.map(function (x) { return x * 2 }))\n\n// Compression function. 'last' flag indicates last block.\n// Note we're representing 16 uint64s as 32 uint32s\nvar v = new Uint32Array(32)\nvar m = new Uint32Array(32)\nfunction blake2bCompress (ctx, last) {\n var i = 0\n\n // init work variables\n for (i = 0; i < 16; i++) {\n v[i] = ctx.h[i]\n v[i + 16] = BLAKE2B_IV32[i]\n }\n\n // low 64 bits of offset\n v[24] = v[24] ^ ctx.t\n v[25] = v[25] ^ (ctx.t / 0x100000000)\n // high 64 bits not supported, offset may not be higher than 2**53-1\n\n // last block flag set ?\n if (last) {\n v[28] = ~v[28]\n v[29] = ~v[29]\n }\n\n // get little-endian words\n for (i = 0; i < 32; i++) {\n m[i] = B2B_GET32(ctx.b, 4 * i)\n }\n\n // twelve rounds of mixing\n for (i = 0; i < 12; i++) {\n B2B_G(0, 8, 16, 24, SIGMA82[i * 16 + 0], SIGMA82[i * 16 + 1])\n B2B_G(2, 10, 18, 26, SIGMA82[i * 16 + 2], SIGMA82[i * 16 + 3])\n B2B_G(4, 12, 20, 28, SIGMA82[i * 16 + 4], SIGMA82[i * 16 + 5])\n B2B_G(6, 14, 22, 30, SIGMA82[i * 16 + 6], SIGMA82[i * 16 + 7])\n B2B_G(0, 10, 20, 30, SIGMA82[i * 16 + 8], SIGMA82[i * 16 + 9])\n B2B_G(2, 12, 22, 24, SIGMA82[i * 16 + 10], SIGMA82[i * 16 + 11])\n B2B_G(4, 14, 16, 26, SIGMA82[i * 16 + 12], SIGMA82[i * 16 + 13])\n B2B_G(6, 8, 18, 28, SIGMA82[i * 16 + 14], SIGMA82[i * 16 + 15])\n }\n\n for (i = 0; i < 16; i++) {\n ctx.h[i] = ctx.h[i] ^ v[i] ^ v[i + 16]\n }\n}\n\n// reusable parameter_block\nvar parameter_block = new Uint8Array([\n 0, 0, 0, 0, // 0: outlen, keylen, fanout, depth\n 0, 0, 0, 0, // 4: leaf length, sequential mode\n 0, 0, 0, 0, // 8: node offset\n 0, 0, 0, 0, // 12: node offset\n 0, 0, 0, 0, // 16: node depth, inner length, rfu\n 0, 0, 0, 0, // 20: rfu\n 0, 0, 0, 0, // 24: rfu\n 0, 0, 0, 0, // 28: rfu\n 0, 0, 0, 0, // 32: salt\n 0, 0, 0, 0, // 36: salt\n 0, 0, 0, 0, // 40: salt\n 0, 0, 0, 0, // 44: salt\n 0, 0, 0, 0, // 48: personal\n 0, 0, 0, 0, // 52: personal\n 0, 0, 0, 0, // 56: personal\n 0, 0, 0, 0 // 60: personal\n])\n\n// Creates a BLAKE2b hashing context\n// Requires an output length between 1 and 64 bytes\n// Takes an optional Uint8Array key\nfunction Blake2b (outlen, key, salt, personal) {\n // zero out parameter_block before usage\n parameter_block.fill(0)\n // state, 'param block'\n\n this.b = new Uint8Array(128)\n this.h = new Uint32Array(16)\n this.t = 0 // input count\n this.c = 0 // pointer within buffer\n this.outlen = outlen // output length in bytes\n\n parameter_block[0] = outlen\n if (key) parameter_block[1] = key.length\n parameter_block[2] = 1 // fanout\n parameter_block[3] = 1 // depth\n\n if (salt) parameter_block.set(salt, 32)\n if (personal) parameter_block.set(personal, 48)\n\n // initialize hash state\n for (var i = 0; i < 16; i++) {\n this.h[i] = BLAKE2B_IV32[i] ^ B2B_GET32(parameter_block, i * 4)\n }\n\n // key the hash, if applicable\n if (key) {\n blake2bUpdate(this, key)\n // at the end\n this.c = 128\n }\n}\n\nBlake2b.prototype.update = function (input) {\n assert(input instanceof Uint8Array, 'input must be Uint8Array or Buffer')\n blake2bUpdate(this, input)\n return this\n}\n\nBlake2b.prototype.digest = function (out) {\n var buf = (!out || out === 'binary' || out === 'hex') ? new Uint8Array(this.outlen) : out\n assert(buf instanceof Uint8Array, 'out must be \"binary\", \"hex\", Uint8Array, or Buffer')\n assert(buf.length >= this.outlen, 'out must have at least outlen bytes of space')\n blake2bFinal(this, buf)\n if (out === 'hex') return hexSlice(buf)\n return buf\n}\n\nBlake2b.prototype.final = Blake2b.prototype.digest\n\nBlake2b.ready = function (cb) {\n b2wasm.ready(function () {\n cb() // ignore the error\n })\n}\n\n// Updates a BLAKE2b streaming hash\n// Requires hash context and Uint8Array (byte array)\nfunction blake2bUpdate (ctx, input) {\n for (var i = 0; i < input.length; i++) {\n if (ctx.c === 128) { // buffer full ?\n ctx.t += ctx.c // add counters\n blake2bCompress(ctx, false) // compress (not last)\n ctx.c = 0 // counter to zero\n }\n ctx.b[ctx.c++] = input[i]\n }\n}\n\n// Completes a BLAKE2b streaming hash\n// Returns a Uint8Array containing the message digest\nfunction blake2bFinal (ctx, out) {\n ctx.t += ctx.c // mark last block offset\n\n while (ctx.c < 128) { // fill up with zeros\n ctx.b[ctx.c++] = 0\n }\n blake2bCompress(ctx, true) // final block flag = 1\n\n for (var i = 0; i < ctx.outlen; i++) {\n out[i] = ctx.h[i >> 2] >> (8 * (i & 3))\n }\n return out\n}\n\nfunction hexSlice (buf) {\n var str = ''\n for (var i = 0; i < buf.length; i++) str += toHex(buf[i])\n return str\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nvar Proto = Blake2b\n\nmodule.exports = function createHash (outlen, key, salt, personal, noAssert) {\n if (noAssert !== true) {\n assert(outlen >= BYTES_MIN, 'outlen must be at least ' + BYTES_MIN + ', was given ' + outlen)\n assert(outlen <= BYTES_MAX, 'outlen must be at most ' + BYTES_MAX + ', was given ' + outlen)\n if (key != null) {\n assert(key instanceof Uint8Array, 'key must be Uint8Array or Buffer')\n assert(key.length >= KEYBYTES_MIN, 'key must be at least ' + KEYBYTES_MIN + ', was given ' + key.length)\n assert(key.length <= KEYBYTES_MAX, 'key must be at most ' + KEYBYTES_MAX + ', was given ' + key.length)\n }\n if (salt != null) {\n assert(salt instanceof Uint8Array, 'salt must be Uint8Array or Buffer')\n assert(salt.length === SALTBYTES, 'salt must be exactly ' + SALTBYTES + ', was given ' + salt.length)\n }\n if (personal != null) {\n assert(personal instanceof Uint8Array, 'personal must be Uint8Array or Buffer')\n assert(personal.length === PERSONALBYTES, 'personal must be exactly ' + PERSONALBYTES + ', was given ' + personal.length)\n }\n }\n\n return new Proto(outlen, key, salt, personal)\n}\n\nmodule.exports.ready = function (cb) {\n b2wasm.ready(function () { // ignore errors\n cb()\n })\n}\n\nmodule.exports.WASM_SUPPORTED = b2wasm.SUPPORTED\nmodule.exports.WASM_LOADED = false\n\nvar BYTES_MIN = module.exports.BYTES_MIN = 16\nvar BYTES_MAX = module.exports.BYTES_MAX = 64\nvar BYTES = module.exports.BYTES = 32\nvar KEYBYTES_MIN = module.exports.KEYBYTES_MIN = 16\nvar KEYBYTES_MAX = module.exports.KEYBYTES_MAX = 64\nvar KEYBYTES = module.exports.KEYBYTES = 32\nvar SALTBYTES = module.exports.SALTBYTES = 16\nvar PERSONALBYTES = module.exports.PERSONALBYTES = 16\n\nb2wasm.ready(function (err) {\n if (!err) {\n module.exports.WASM_LOADED = true\n module.exports = b2wasm\n }\n})\n", "var blake2b = require('blake2b')\n\nif (new Uint16Array([1])[0] !== 1) throw new Error('Big endian architecture is not supported.')\n\nmodule.exports.crypto_generichash_PRIMITIVE = 'blake2b'\nmodule.exports.crypto_generichash_BYTES_MIN = blake2b.BYTES_MIN\nmodule.exports.crypto_generichash_BYTES_MAX = blake2b.BYTES_MAX\nmodule.exports.crypto_generichash_BYTES = blake2b.BYTES\nmodule.exports.crypto_generichash_KEYBYTES_MIN = blake2b.KEYBYTES_MIN\nmodule.exports.crypto_generichash_KEYBYTES_MAX = blake2b.KEYBYTES_MAX\nmodule.exports.crypto_generichash_KEYBYTES = blake2b.KEYBYTES\nmodule.exports.crypto_generichash_WASM_SUPPORTED = blake2b.WASM_SUPPORTED\nmodule.exports.crypto_generichash_WASM_LOADED = false\n\nmodule.exports.crypto_generichash = function (output, input, key) {\n blake2b(output.length, key).update(input).final(output)\n}\n\nmodule.exports.crypto_generichash_ready = blake2b.ready\n\nmodule.exports.crypto_generichash_batch = function (output, inputArray, key) {\n var ctx = blake2b(output.length, key)\n for (var i = 0; i < inputArray.length; i++) {\n ctx.update(inputArray[i])\n }\n ctx.final(output)\n}\n\nmodule.exports.crypto_generichash_instance = function (key, outlen) {\n if (outlen == null) outlen = module.exports.crypto_generichash_BYTES\n return blake2b(outlen, key)\n}\n\nblake2b.ready(function (_) {\n module.exports.crypto_generichash_WASM_LOADED = blake2b.WASM_LOADED\n})\n", "var __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __toBinary = /* @__PURE__ */ (() => {\n var table = new Uint8Array(128);\n for (var i = 0; i < 64; i++)\n table[i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i * 4 - 205] = i;\n return (base64) => {\n var n = base64.length, bytes2 = new Uint8Array((n - (base64[n - 1] == \"=\") - (base64[n - 2] == \"=\")) * 3 / 4 | 0);\n for (var i2 = 0, j = 0; i2 < n; ) {\n var c0 = table[base64.charCodeAt(i2++)], c1 = table[base64.charCodeAt(i2++)];\n var c2 = table[base64.charCodeAt(i2++)], c3 = table[base64.charCodeAt(i2++)];\n bytes2[j++] = c0 << 2 | c1 >> 4;\n bytes2[j++] = c1 << 4 | c2 >> 2;\n bytes2[j++] = c2 << 6 | c3;\n }\n return bytes2;\n };\n})();\n\n// wasm-binary:./xsalsa20.wat\nvar require_xsalsa20 = __commonJS({\n \"wasm-binary:./xsalsa20.wat\"(exports2, module2) {\n module2.exports = __toBinary(\"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\");\n }\n});\n\n// wasm-module:./xsalsa20.wat\nvar bytes = require_xsalsa20();\nvar compiled = new WebAssembly.Module(bytes);\nmodule.exports = (imports) => {\n const instance = new WebAssembly.Instance(compiled, imports);\n return instance.exports;\n};\n", "var xsalsa20 = typeof WebAssembly !== \"undefined\" && require('./xsalsa20')()\n\nvar SIGMA = new Uint8Array([101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107])\nvar head = 144\nvar top = head\nvar free = []\n\nmodule.exports = XSalsa20\n\nXSalsa20.NONCEBYTES = 24\nXSalsa20.KEYBYTES = 32\n\nXSalsa20.core_hsalsa20 = core_hsalsa20\nXSalsa20.SIGMA = SIGMA\n\nfunction XSalsa20 (nonce, key) {\n if (!(this instanceof XSalsa20)) return new XSalsa20(nonce, key)\n if (!nonce || nonce.length < 24) throw new Error('nonce must be at least 24 bytes')\n if (!key || key.length < 32) throw new Error('key must be at least 32 bytes')\n this._xor = xsalsa20 ? new WASM(nonce, key) : new Fallback(nonce, key)\n}\n\nXSalsa20.prototype.update = function (input, output) {\n if (!input) throw new Error('input must be Uint8Array or Buffer')\n if (!output) output = new Uint8Array(input.length)\n if (input.length) this._xor.update(input, output)\n return output\n}\n\nXSalsa20.prototype.final =\nXSalsa20.prototype.finalize = function () {\n this._xor.finalize()\n this._xor = null\n}\n\nfunction WASM (nonce, key) {\n if (!free.length) {\n free.push(head)\n head += 64\n }\n\n this._pointer = free.pop()\n this._nonce = this._pointer + 8\n this._key = this._nonce + 24\n this._overflow = 0\n this._memory = new Uint8Array(xsalsa20.memory.buffer)\n\n this._memory.fill(0, this._pointer, this._pointer + 8)\n this._memory.set(nonce, this._nonce)\n this._memory.set(key, this._key)\n}\n\nWASM.prototype.realloc = function (size) {\n xsalsa20.memory.grow(Math.ceil(Math.abs(size - this._memory.length) / 65536))\n this._memory = new Uint8Array(xsalsa20.memory.buffer)\n}\n\nWASM.prototype.update = function (input, output) {\n var len = this._overflow + input.length\n var start = head + this._overflow\n\n top = head + len\n if (top >= this._memory.length) this.realloc(top)\n\n this._memory.set(input, start)\n xsalsa20.xsalsa20_xor(this._pointer, head, head, len, this._nonce, this._key)\n output.set(this._memory.subarray(start, head + len))\n\n this._overflow = len & 63\n}\n\nWASM.prototype.finalize = function () {\n this._memory.fill(0, this._pointer, this._key + 32)\n if (top > head) {\n this._memory.fill(0, head, top)\n top = 0\n }\n free.push(this._pointer)\n}\n\nfunction Fallback (nonce, key) {\n this._s = new Uint8Array(32)\n this._z = new Uint8Array(16)\n this._overflow = 0\n core_hsalsa20(this._s, nonce, key, SIGMA)\n for (var i = 0; i < 8; i++) this._z[i] = nonce[i + 16]\n}\n\nFallback.prototype.update = function (input, output) {\n var x = new Uint8Array(64)\n var u = 0\n var i = this._overflow\n var b = input.length + this._overflow\n var z = this._z\n var mpos = -this._overflow\n var cpos = -this._overflow\n\n while (b >= 64) {\n core_salsa20(x, z, this._s, SIGMA)\n for (; i < 64; i++) output[cpos + i] = input[mpos + i] ^ x[i]\n u = 1\n for (i = 8; i < 16; i++) {\n u += (z[i] & 0xff) | 0\n z[i] = u & 0xff\n u >>>= 8\n }\n b -= 64\n cpos += 64\n mpos += 64\n i = 0\n }\n if (b > 0) {\n core_salsa20(x, z, this._s, SIGMA)\n for (; i < b; i++) output[cpos + i] = input[mpos + i] ^ x[i]\n }\n\n this._overflow = b & 63\n}\n\nFallback.prototype.finalize = function () {\n this._s.fill(0)\n this._z.fill(0)\n}\n\n// below methods are ported from tweet nacl\n\nfunction core_salsa20(o, p, k, c) {\n var j0 = c[ 0] & 0xff | (c[ 1] & 0xff) << 8 | (c[ 2] & 0xff) << 16 | (c[ 3] & 0xff) << 24,\n j1 = k[ 0] & 0xff | (k[ 1] & 0xff) << 8 | (k[ 2] & 0xff) << 16 | (k[ 3] & 0xff) << 24,\n j2 = k[ 4] & 0xff | (k[ 5] & 0xff) << 8 | (k[ 6] & 0xff) << 16 | (k[ 7] & 0xff) << 24,\n j3 = k[ 8] & 0xff | (k[ 9] & 0xff) << 8 | (k[10] & 0xff) << 16 | (k[11] & 0xff) << 24,\n j4 = k[12] & 0xff | (k[13] & 0xff) << 8 | (k[14] & 0xff) << 16 | (k[15] & 0xff) << 24,\n j5 = c[ 4] & 0xff | (c[ 5] & 0xff) << 8 | (c[ 6] & 0xff) << 16 | (c[ 7] & 0xff) << 24,\n j6 = p[ 0] & 0xff | (p[ 1] & 0xff) << 8 | (p[ 2] & 0xff) << 16 | (p[ 3] & 0xff) << 24,\n j7 = p[ 4] & 0xff | (p[ 5] & 0xff) << 8 | (p[ 6] & 0xff) << 16 | (p[ 7] & 0xff) << 24,\n j8 = p[ 8] & 0xff | (p[ 9] & 0xff) << 8 | (p[10] & 0xff) << 16 | (p[11] & 0xff) << 24,\n j9 = p[12] & 0xff | (p[13] & 0xff) << 8 | (p[14] & 0xff) << 16 | (p[15] & 0xff) << 24,\n j10 = c[ 8] & 0xff | (c[ 9] & 0xff) << 8 | (c[10] & 0xff) << 16 | (c[11] & 0xff) << 24,\n j11 = k[16] & 0xff | (k[17] & 0xff) << 8 | (k[18] & 0xff) << 16 | (k[19] & 0xff) << 24,\n j12 = k[20] & 0xff | (k[21] & 0xff) << 8 | (k[22] & 0xff) << 16 | (k[23] & 0xff) << 24,\n j13 = k[24] & 0xff | (k[25] & 0xff) << 8 | (k[26] & 0xff) << 16 | (k[27] & 0xff) << 24,\n j14 = k[28] & 0xff | (k[29] & 0xff) << 8 | (k[30] & 0xff) << 16 | (k[31] & 0xff) << 24,\n j15 = c[12] & 0xff | (c[13] & 0xff) << 8 | (c[14] & 0xff) << 16 | (c[15] & 0xff) << 24\n\n var x0 = j0, x1 = j1, x2 = j2, x3 = j3, x4 = j4, x5 = j5, x6 = j6, x7 = j7,\n x8 = j8, x9 = j9, x10 = j10, x11 = j11, x12 = j12, x13 = j13, x14 = j14,\n x15 = j15, u\n\n for (var i = 0; i < 20; i += 2) {\n u = x0 + x12 | 0\n x4 ^= u << 7 | u >>> 25\n u = x4 + x0 | 0\n x8 ^= u << 9 | u >>> 23\n u = x8 + x4 | 0\n x12 ^= u << 13 | u >>> 19\n u = x12 + x8 | 0\n x0 ^= u << 18 | u >>> 14\n\n u = x5 + x1 | 0\n x9 ^= u << 7 | u >>> 25\n u = x9 + x5 | 0\n x13 ^= u << 9 | u >>> 23\n u = x13 + x9 | 0\n x1 ^= u << 13 | u >>> 19\n u = x1 + x13 | 0\n x5 ^= u << 18 | u >>> 14\n\n u = x10 + x6 | 0\n x14 ^= u << 7 | u >>> 25\n u = x14 + x10 | 0\n x2 ^= u << 9 | u >>> 23\n u = x2 + x14 | 0\n x6 ^= u << 13 | u >>> 19\n u = x6 + x2 | 0\n x10 ^= u << 18 | u >>> 14\n\n u = x15 + x11 | 0\n x3 ^= u << 7 | u >>> 25\n u = x3 + x15 | 0\n x7 ^= u << 9 | u >>> 23\n u = x7 + x3 | 0\n x11 ^= u << 13 | u >>> 19\n u = x11 + x7 | 0\n x15 ^= u << 18 | u >>> 14\n\n u = x0 + x3 | 0\n x1 ^= u << 7 | u >>> 25\n u = x1 + x0 | 0\n x2 ^= u << 9 | u >>> 23\n u = x2 + x1 | 0\n x3 ^= u << 13 | u >>> 19\n u = x3 + x2 | 0\n x0 ^= u << 18 | u >>> 14\n\n u = x5 + x4 | 0\n x6 ^= u << 7 | u >>> 25\n u = x6 + x5 | 0\n x7 ^= u << 9 | u >>> 23\n u = x7 + x6 | 0\n x4 ^= u << 13 | u >>> 19\n u = x4 + x7 | 0\n x5 ^= u << 18 | u >>> 14\n\n u = x10 + x9 | 0\n x11 ^= u << 7 | u >>> 25\n u = x11 + x10 | 0\n x8 ^= u << 9 | u >>> 23\n u = x8 + x11 | 0\n x9 ^= u << 13 | u >>> 19\n u = x9 + x8 | 0\n x10 ^= u << 18 | u >>> 14\n\n u = x15 + x14 | 0\n x12 ^= u << 7 | u >>> 25\n u = x12 + x15 | 0\n x13 ^= u << 9 | u >>> 23\n u = x13 + x12 | 0\n x14 ^= u << 13 | u >>> 19\n u = x14 + x13 | 0\n x15 ^= u << 18 | u >>> 14\n }\n x0 = x0 + j0 | 0\n x1 = x1 + j1 | 0\n x2 = x2 + j2 | 0\n x3 = x3 + j3 | 0\n x4 = x4 + j4 | 0\n x5 = x5 + j5 | 0\n x6 = x6 + j6 | 0\n x7 = x7 + j7 | 0\n x8 = x8 + j8 | 0\n x9 = x9 + j9 | 0\n x10 = x10 + j10 | 0\n x11 = x11 + j11 | 0\n x12 = x12 + j12 | 0\n x13 = x13 + j13 | 0\n x14 = x14 + j14 | 0\n x15 = x15 + j15 | 0\n\n o[ 0] = x0 >>> 0 & 0xff\n o[ 1] = x0 >>> 8 & 0xff\n o[ 2] = x0 >>> 16 & 0xff\n o[ 3] = x0 >>> 24 & 0xff\n\n o[ 4] = x1 >>> 0 & 0xff\n o[ 5] = x1 >>> 8 & 0xff\n o[ 6] = x1 >>> 16 & 0xff\n o[ 7] = x1 >>> 24 & 0xff\n\n o[ 8] = x2 >>> 0 & 0xff\n o[ 9] = x2 >>> 8 & 0xff\n o[10] = x2 >>> 16 & 0xff\n o[11] = x2 >>> 24 & 0xff\n\n o[12] = x3 >>> 0 & 0xff\n o[13] = x3 >>> 8 & 0xff\n o[14] = x3 >>> 16 & 0xff\n o[15] = x3 >>> 24 & 0xff\n\n o[16] = x4 >>> 0 & 0xff\n o[17] = x4 >>> 8 & 0xff\n o[18] = x4 >>> 16 & 0xff\n o[19] = x4 >>> 24 & 0xff\n\n o[20] = x5 >>> 0 & 0xff\n o[21] = x5 >>> 8 & 0xff\n o[22] = x5 >>> 16 & 0xff\n o[23] = x5 >>> 24 & 0xff\n\n o[24] = x6 >>> 0 & 0xff\n o[25] = x6 >>> 8 & 0xff\n o[26] = x6 >>> 16 & 0xff\n o[27] = x6 >>> 24 & 0xff\n\n o[28] = x7 >>> 0 & 0xff\n o[29] = x7 >>> 8 & 0xff\n o[30] = x7 >>> 16 & 0xff\n o[31] = x7 >>> 24 & 0xff\n\n o[32] = x8 >>> 0 & 0xff\n o[33] = x8 >>> 8 & 0xff\n o[34] = x8 >>> 16 & 0xff\n o[35] = x8 >>> 24 & 0xff\n\n o[36] = x9 >>> 0 & 0xff\n o[37] = x9 >>> 8 & 0xff\n o[38] = x9 >>> 16 & 0xff\n o[39] = x9 >>> 24 & 0xff\n\n o[40] = x10 >>> 0 & 0xff\n o[41] = x10 >>> 8 & 0xff\n o[42] = x10 >>> 16 & 0xff\n o[43] = x10 >>> 24 & 0xff\n\n o[44] = x11 >>> 0 & 0xff\n o[45] = x11 >>> 8 & 0xff\n o[46] = x11 >>> 16 & 0xff\n o[47] = x11 >>> 24 & 0xff\n\n o[48] = x12 >>> 0 & 0xff\n o[49] = x12 >>> 8 & 0xff\n o[50] = x12 >>> 16 & 0xff\n o[51] = x12 >>> 24 & 0xff\n\n o[52] = x13 >>> 0 & 0xff\n o[53] = x13 >>> 8 & 0xff\n o[54] = x13 >>> 16 & 0xff\n o[55] = x13 >>> 24 & 0xff\n\n o[56] = x14 >>> 0 & 0xff\n o[57] = x14 >>> 8 & 0xff\n o[58] = x14 >>> 16 & 0xff\n o[59] = x14 >>> 24 & 0xff\n\n o[60] = x15 >>> 0 & 0xff\n o[61] = x15 >>> 8 & 0xff\n o[62] = x15 >>> 16 & 0xff\n o[63] = x15 >>> 24 & 0xff\n}\n\nfunction core_hsalsa20(o,p,k,c) {\n var j0 = c[ 0] & 0xff | (c[ 1] & 0xff) << 8 | (c[ 2] & 0xff) << 16 | (c[ 3] & 0xff) << 24,\n j1 = k[ 0] & 0xff | (k[ 1] & 0xff) << 8 | (k[ 2] & 0xff) << 16 | (k[ 3] & 0xff) << 24,\n j2 = k[ 4] & 0xff | (k[ 5] & 0xff) << 8 | (k[ 6] & 0xff) << 16 | (k[ 7] & 0xff) << 24,\n j3 = k[ 8] & 0xff | (k[ 9] & 0xff) << 8 | (k[10] & 0xff) << 16 | (k[11] & 0xff) << 24,\n j4 = k[12] & 0xff | (k[13] & 0xff) << 8 | (k[14] & 0xff) << 16 | (k[15] & 0xff) << 24,\n j5 = c[ 4] & 0xff | (c[ 5] & 0xff) << 8 | (c[ 6] & 0xff) << 16 | (c[ 7] & 0xff) << 24,\n j6 = p[ 0] & 0xff | (p[ 1] & 0xff) << 8 | (p[ 2] & 0xff) << 16 | (p[ 3] & 0xff) << 24,\n j7 = p[ 4] & 0xff | (p[ 5] & 0xff) << 8 | (p[ 6] & 0xff) << 16 | (p[ 7] & 0xff) << 24,\n j8 = p[ 8] & 0xff | (p[ 9] & 0xff) << 8 | (p[10] & 0xff) << 16 | (p[11] & 0xff) << 24,\n j9 = p[12] & 0xff | (p[13] & 0xff) << 8 | (p[14] & 0xff) << 16 | (p[15] & 0xff) << 24,\n j10 = c[ 8] & 0xff | (c[ 9] & 0xff) << 8 | (c[10] & 0xff) << 16 | (c[11] & 0xff) << 24,\n j11 = k[16] & 0xff | (k[17] & 0xff) << 8 | (k[18] & 0xff) << 16 | (k[19] & 0xff) << 24,\n j12 = k[20] & 0xff | (k[21] & 0xff) << 8 | (k[22] & 0xff) << 16 | (k[23] & 0xff) << 24,\n j13 = k[24] & 0xff | (k[25] & 0xff) << 8 | (k[26] & 0xff) << 16 | (k[27] & 0xff) << 24,\n j14 = k[28] & 0xff | (k[29] & 0xff) << 8 | (k[30] & 0xff) << 16 | (k[31] & 0xff) << 24,\n j15 = c[12] & 0xff | (c[13] & 0xff) << 8 | (c[14] & 0xff) << 16 | (c[15] & 0xff) << 24\n\n var x0 = j0, x1 = j1, x2 = j2, x3 = j3, x4 = j4, x5 = j5, x6 = j6, x7 = j7,\n x8 = j8, x9 = j9, x10 = j10, x11 = j11, x12 = j12, x13 = j13, x14 = j14,\n x15 = j15, u\n\n for (var i = 0; i < 20; i += 2) {\n u = x0 + x12 | 0\n x4 ^= u << 7 | u >>> 25\n u = x4 + x0 | 0\n x8 ^= u << 9 | u >>> 23\n u = x8 + x4 | 0\n x12 ^= u << 13 | u >>> 19\n u = x12 + x8 | 0\n x0 ^= u << 18 | u >>> 14\n\n u = x5 + x1 | 0\n x9 ^= u << 7 | u >>> 25\n u = x9 + x5 | 0\n x13 ^= u << 9 | u >>> 23\n u = x13 + x9 | 0\n x1 ^= u << 13 | u >>> 19\n u = x1 + x13 | 0\n x5 ^= u << 18 | u >>> 14\n\n u = x10 + x6 | 0\n x14 ^= u << 7 | u >>> 25\n u = x14 + x10 | 0\n x2 ^= u << 9 | u >>> 23\n u = x2 + x14 | 0\n x6 ^= u << 13 | u >>> 19\n u = x6 + x2 | 0\n x10 ^= u << 18 | u >>> 14\n\n u = x15 + x11 | 0\n x3 ^= u << 7 | u >>> 25\n u = x3 + x15 | 0\n x7 ^= u << 9 | u >>> 23\n u = x7 + x3 | 0\n x11 ^= u << 13 | u >>> 19\n u = x11 + x7 | 0\n x15 ^= u << 18 | u >>> 14\n\n u = x0 + x3 | 0\n x1 ^= u << 7 | u >>> 25\n u = x1 + x0 | 0\n x2 ^= u << 9 | u >>> 23\n u = x2 + x1 | 0\n x3 ^= u << 13 | u >>> 19\n u = x3 + x2 | 0\n x0 ^= u << 18 | u >>> 14\n\n u = x5 + x4 | 0\n x6 ^= u << 7 | u >>> 25\n u = x6 + x5 | 0\n x7 ^= u << 9 | u >>> 23\n u = x7 + x6 | 0\n x4 ^= u << 13 | u >>> 19\n u = x4 + x7 | 0\n x5 ^= u << 18 | u >>> 14\n\n u = x10 + x9 | 0\n x11 ^= u << 7 | u >>> 25\n u = x11 + x10 | 0\n x8 ^= u << 9 | u >>> 23\n u = x8 + x11 | 0\n x9 ^= u << 13 | u >>> 19\n u = x9 + x8 | 0\n x10 ^= u << 18 | u >>> 14\n\n u = x15 + x14 | 0\n x12 ^= u << 7 | u >>> 25\n u = x12 + x15 | 0\n x13 ^= u << 9 | u >>> 23\n u = x13 + x12 | 0\n x14 ^= u << 13 | u >>> 19\n u = x14 + x13 | 0\n x15 ^= u << 18 | u >>> 14\n }\n\n o[ 0] = x0 >>> 0 & 0xff\n o[ 1] = x0 >>> 8 & 0xff\n o[ 2] = x0 >>> 16 & 0xff\n o[ 3] = x0 >>> 24 & 0xff\n\n o[ 4] = x5 >>> 0 & 0xff\n o[ 5] = x5 >>> 8 & 0xff\n o[ 6] = x5 >>> 16 & 0xff\n o[ 7] = x5 >>> 24 & 0xff\n\n o[ 8] = x10 >>> 0 & 0xff\n o[ 9] = x10 >>> 8 & 0xff\n o[10] = x10 >>> 16 & 0xff\n o[11] = x10 >>> 24 & 0xff\n\n o[12] = x15 >>> 0 & 0xff\n o[13] = x15 >>> 8 & 0xff\n o[14] = x15 >>> 16 & 0xff\n o[15] = x15 >>> 24 & 0xff\n\n o[16] = x6 >>> 0 & 0xff\n o[17] = x6 >>> 8 & 0xff\n o[18] = x6 >>> 16 & 0xff\n o[19] = x6 >>> 24 & 0xff\n\n o[20] = x7 >>> 0 & 0xff\n o[21] = x7 >>> 8 & 0xff\n o[22] = x7 >>> 16 & 0xff\n o[23] = x7 >>> 24 & 0xff\n\n o[24] = x8 >>> 0 & 0xff\n o[25] = x8 >>> 8 & 0xff\n o[26] = x8 >>> 16 & 0xff\n o[27] = x8 >>> 24 & 0xff\n\n o[28] = x9 >>> 0 & 0xff\n o[29] = x9 >>> 8 & 0xff\n o[30] = x9 >>> 16 & 0xff\n o[31] = x9 >>> 24 & 0xff\n}\n", "/* eslint-disable camelcase */\nconst xsalsa20 = require('xsalsa20')\n\nif (new Uint16Array([1])[0] !== 1) throw new Error('Big endian architecture is not supported.')\n\nexports.crypto_stream_KEYBYTES = 32\nexports.crypto_stream_NONCEBYTES = 24\nexports.crypto_stream_PRIMITIVE = 'xsalsa20'\nexports.crypto_stream_xsalsa20_MESSAGEBYTES_MAX = Number.MAX_SAFE_INTEGER\n\nexports.crypto_stream = function (c, nonce, key) {\n c.fill(0)\n exports.crypto_stream_xor(c, c, nonce, key)\n}\n\nexports.crypto_stream_xor = function (c, m, nonce, key) {\n const xor = xsalsa20(nonce, key)\n\n xor.update(m, c)\n xor.final()\n}\n\nexports.crypto_stream_xor_instance = function (nonce, key) {\n return new XOR(nonce, key)\n}\n\nfunction XOR (nonce, key) {\n this._instance = xsalsa20(nonce, key)\n}\n\nXOR.prototype.update = function (out, inp) {\n this._instance.update(inp, out)\n}\n\nXOR.prototype.final = function () {\n this._instance.finalize()\n this._instance = null\n}\n", "/*\n* Port of Andrew Moon's Poly1305-donna-16. Public domain.\n* https://github.com/floodyberry/poly1305-donna\n*/\n\nif (new Uint16Array([1])[0] !== 1) throw new Error('Big endian architecture is not supported.')\n\nvar poly1305 = function(key) {\n this.buffer = new Uint8Array(16);\n this.r = new Uint16Array(10);\n this.h = new Uint16Array(10);\n this.pad = new Uint16Array(8);\n this.leftover = 0;\n this.fin = 0;\n\n var t0, t1, t2, t3, t4, t5, t6, t7;\n\n t0 = key[ 0] & 0xff | (key[ 1] & 0xff) << 8; this.r[0] = ( t0 ) & 0x1fff;\n t1 = key[ 2] & 0xff | (key[ 3] & 0xff) << 8; this.r[1] = ((t0 >>> 13) | (t1 << 3)) & 0x1fff;\n t2 = key[ 4] & 0xff | (key[ 5] & 0xff) << 8; this.r[2] = ((t1 >>> 10) | (t2 << 6)) & 0x1f03;\n t3 = key[ 6] & 0xff | (key[ 7] & 0xff) << 8; this.r[3] = ((t2 >>> 7) | (t3 << 9)) & 0x1fff;\n t4 = key[ 8] & 0xff | (key[ 9] & 0xff) << 8; this.r[4] = ((t3 >>> 4) | (t4 << 12)) & 0x00ff;\n this.r[5] = ((t4 >>> 1)) & 0x1ffe;\n t5 = key[10] & 0xff | (key[11] & 0xff) << 8; this.r[6] = ((t4 >>> 14) | (t5 << 2)) & 0x1fff;\n t6 = key[12] & 0xff | (key[13] & 0xff) << 8; this.r[7] = ((t5 >>> 11) | (t6 << 5)) & 0x1f81;\n t7 = key[14] & 0xff | (key[15] & 0xff) << 8; this.r[8] = ((t6 >>> 8) | (t7 << 8)) & 0x1fff;\n this.r[9] = ((t7 >>> 5)) & 0x007f;\n\n this.pad[0] = key[16] & 0xff | (key[17] & 0xff) << 8;\n this.pad[1] = key[18] & 0xff | (key[19] & 0xff) << 8;\n this.pad[2] = key[20] & 0xff | (key[21] & 0xff) << 8;\n this.pad[3] = key[22] & 0xff | (key[23] & 0xff) << 8;\n this.pad[4] = key[24] & 0xff | (key[25] & 0xff) << 8;\n this.pad[5] = key[26] & 0xff | (key[27] & 0xff) << 8;\n this.pad[6] = key[28] & 0xff | (key[29] & 0xff) << 8;\n this.pad[7] = key[30] & 0xff | (key[31] & 0xff) << 8;\n};\n\npoly1305.prototype.blocks = function(m, mpos, bytes) {\n var hibit = this.fin ? 0 : (1 << 11);\n var t0, t1, t2, t3, t4, t5, t6, t7, c;\n var d0, d1, d2, d3, d4, d5, d6, d7, d8, d9;\n\n var h0 = this.h[0],\n h1 = this.h[1],\n h2 = this.h[2],\n h3 = this.h[3],\n h4 = this.h[4],\n h5 = this.h[5],\n h6 = this.h[6],\n h7 = this.h[7],\n h8 = this.h[8],\n h9 = this.h[9];\n\n var r0 = this.r[0],\n r1 = this.r[1],\n r2 = this.r[2],\n r3 = this.r[3],\n r4 = this.r[4],\n r5 = this.r[5],\n r6 = this.r[6],\n r7 = this.r[7],\n r8 = this.r[8],\n r9 = this.r[9];\n\n while (bytes >= 16) {\n t0 = m[mpos+ 0] & 0xff | (m[mpos+ 1] & 0xff) << 8; h0 += ( t0 ) & 0x1fff;\n t1 = m[mpos+ 2] & 0xff | (m[mpos+ 3] & 0xff) << 8; h1 += ((t0 >>> 13) | (t1 << 3)) & 0x1fff;\n t2 = m[mpos+ 4] & 0xff | (m[mpos+ 5] & 0xff) << 8; h2 += ((t1 >>> 10) | (t2 << 6)) & 0x1fff;\n t3 = m[mpos+ 6] & 0xff | (m[mpos+ 7] & 0xff) << 8; h3 += ((t2 >>> 7) | (t3 << 9)) & 0x1fff;\n t4 = m[mpos+ 8] & 0xff | (m[mpos+ 9] & 0xff) << 8; h4 += ((t3 >>> 4) | (t4 << 12)) & 0x1fff;\n h5 += ((t4 >>> 1)) & 0x1fff;\n t5 = m[mpos+10] & 0xff | (m[mpos+11] & 0xff) << 8; h6 += ((t4 >>> 14) | (t5 << 2)) & 0x1fff;\n t6 = m[mpos+12] & 0xff | (m[mpos+13] & 0xff) << 8; h7 += ((t5 >>> 11) | (t6 << 5)) & 0x1fff;\n t7 = m[mpos+14] & 0xff | (m[mpos+15] & 0xff) << 8; h8 += ((t6 >>> 8) | (t7 << 8)) & 0x1fff;\n h9 += ((t7 >>> 5)) | hibit;\n\n c = 0;\n\n d0 = c;\n d0 += h0 * r0;\n d0 += h1 * (5 * r9);\n d0 += h2 * (5 * r8);\n d0 += h3 * (5 * r7);\n d0 += h4 * (5 * r6);\n c = (d0 >>> 13); d0 &= 0x1fff;\n d0 += h5 * (5 * r5);\n d0 += h6 * (5 * r4);\n d0 += h7 * (5 * r3);\n d0 += h8 * (5 * r2);\n d0 += h9 * (5 * r1);\n c += (d0 >>> 13); d0 &= 0x1fff;\n\n d1 = c;\n d1 += h0 * r1;\n d1 += h1 * r0;\n d1 += h2 * (5 * r9);\n d1 += h3 * (5 * r8);\n d1 += h4 * (5 * r7);\n c = (d1 >>> 13); d1 &= 0x1fff;\n d1 += h5 * (5 * r6);\n d1 += h6 * (5 * r5);\n d1 += h7 * (5 * r4);\n d1 += h8 * (5 * r3);\n d1 += h9 * (5 * r2);\n c += (d1 >>> 13); d1 &= 0x1fff;\n\n d2 = c;\n d2 += h0 * r2;\n d2 += h1 * r1;\n d2 += h2 * r0;\n d2 += h3 * (5 * r9);\n d2 += h4 * (5 * r8);\n c = (d2 >>> 13); d2 &= 0x1fff;\n d2 += h5 * (5 * r7);\n d2 += h6 * (5 * r6);\n d2 += h7 * (5 * r5);\n d2 += h8 * (5 * r4);\n d2 += h9 * (5 * r3);\n c += (d2 >>> 13); d2 &= 0x1fff;\n\n d3 = c;\n d3 += h0 * r3;\n d3 += h1 * r2;\n d3 += h2 * r1;\n d3 += h3 * r0;\n d3 += h4 * (5 * r9);\n c = (d3 >>> 13); d3 &= 0x1fff;\n d3 += h5 * (5 * r8);\n d3 += h6 * (5 * r7);\n d3 += h7 * (5 * r6);\n d3 += h8 * (5 * r5);\n d3 += h9 * (5 * r4);\n c += (d3 >>> 13); d3 &= 0x1fff;\n\n d4 = c;\n d4 += h0 * r4;\n d4 += h1 * r3;\n d4 += h2 * r2;\n d4 += h3 * r1;\n d4 += h4 * r0;\n c = (d4 >>> 13); d4 &= 0x1fff;\n d4 += h5 * (5 * r9);\n d4 += h6 * (5 * r8);\n d4 += h7 * (5 * r7);\n d4 += h8 * (5 * r6);\n d4 += h9 * (5 * r5);\n c += (d4 >>> 13); d4 &= 0x1fff;\n\n d5 = c;\n d5 += h0 * r5;\n d5 += h1 * r4;\n d5 += h2 * r3;\n d5 += h3 * r2;\n d5 += h4 * r1;\n c = (d5 >>> 13); d5 &= 0x1fff;\n d5 += h5 * r0;\n d5 += h6 * (5 * r9);\n d5 += h7 * (5 * r8);\n d5 += h8 * (5 * r7);\n d5 += h9 * (5 * r6);\n c += (d5 >>> 13); d5 &= 0x1fff;\n\n d6 = c;\n d6 += h0 * r6;\n d6 += h1 * r5;\n d6 += h2 * r4;\n d6 += h3 * r3;\n d6 += h4 * r2;\n c = (d6 >>> 13); d6 &= 0x1fff;\n d6 += h5 * r1;\n d6 += h6 * r0;\n d6 += h7 * (5 * r9);\n d6 += h8 * (5 * r8);\n d6 += h9 * (5 * r7);\n c += (d6 >>> 13); d6 &= 0x1fff;\n\n d7 = c;\n d7 += h0 * r7;\n d7 += h1 * r6;\n d7 += h2 * r5;\n d7 += h3 * r4;\n d7 += h4 * r3;\n c = (d7 >>> 13); d7 &= 0x1fff;\n d7 += h5 * r2;\n d7 += h6 * r1;\n d7 += h7 * r0;\n d7 += h8 * (5 * r9);\n d7 += h9 * (5 * r8);\n c += (d7 >>> 13); d7 &= 0x1fff;\n\n d8 = c;\n d8 += h0 * r8;\n d8 += h1 * r7;\n d8 += h2 * r6;\n d8 += h3 * r5;\n d8 += h4 * r4;\n c = (d8 >>> 13); d8 &= 0x1fff;\n d8 += h5 * r3;\n d8 += h6 * r2;\n d8 += h7 * r1;\n d8 += h8 * r0;\n d8 += h9 * (5 * r9);\n c += (d8 >>> 13); d8 &= 0x1fff;\n\n d9 = c;\n d9 += h0 * r9;\n d9 += h1 * r8;\n d9 += h2 * r7;\n d9 += h3 * r6;\n d9 += h4 * r5;\n c = (d9 >>> 13); d9 &= 0x1fff;\n d9 += h5 * r4;\n d9 += h6 * r3;\n d9 += h7 * r2;\n d9 += h8 * r1;\n d9 += h9 * r0;\n c += (d9 >>> 13); d9 &= 0x1fff;\n\n c = (((c << 2) + c)) | 0;\n c = (c + d0) | 0;\n d0 = c & 0x1fff;\n c = (c >>> 13);\n d1 += c;\n\n h0 = d0;\n h1 = d1;\n h2 = d2;\n h3 = d3;\n h4 = d4;\n h5 = d5;\n h6 = d6;\n h7 = d7;\n h8 = d8;\n h9 = d9;\n\n mpos += 16;\n bytes -= 16;\n }\n this.h[0] = h0;\n this.h[1] = h1;\n this.h[2] = h2;\n this.h[3] = h3;\n this.h[4] = h4;\n this.h[5] = h5;\n this.h[6] = h6;\n this.h[7] = h7;\n this.h[8] = h8;\n this.h[9] = h9;\n};\n\npoly1305.prototype.finish = function(mac, macpos) {\n var g = new Uint16Array(10);\n var c, mask, f, i;\n\n if (this.leftover) {\n i = this.leftover;\n this.buffer[i++] = 1;\n for (; i < 16; i++) this.buffer[i] = 0;\n this.fin = 1;\n this.blocks(this.buffer, 0, 16);\n }\n\n c = this.h[1] >>> 13;\n this.h[1] &= 0x1fff;\n for (i = 2; i < 10; i++) {\n this.h[i] += c;\n c = this.h[i] >>> 13;\n this.h[i] &= 0x1fff;\n }\n this.h[0] += (c * 5);\n c = this.h[0] >>> 13;\n this.h[0] &= 0x1fff;\n this.h[1] += c;\n c = this.h[1] >>> 13;\n this.h[1] &= 0x1fff;\n this.h[2] += c;\n\n g[0] = this.h[0] + 5;\n c = g[0] >>> 13;\n g[0] &= 0x1fff;\n for (i = 1; i < 10; i++) {\n g[i] = this.h[i] + c;\n c = g[i] >>> 13;\n g[i] &= 0x1fff;\n }\n g[9] -= (1 << 13);\n\n mask = (c ^ 1) - 1;\n for (i = 0; i < 10; i++) g[i] &= mask;\n mask = ~mask;\n for (i = 0; i < 10; i++) this.h[i] = (this.h[i] & mask) | g[i];\n\n this.h[0] = ((this.h[0] ) | (this.h[1] << 13) ) & 0xffff;\n this.h[1] = ((this.h[1] >>> 3) | (this.h[2] << 10) ) & 0xffff;\n this.h[2] = ((this.h[2] >>> 6) | (this.h[3] << 7) ) & 0xffff;\n this.h[3] = ((this.h[3] >>> 9) | (this.h[4] << 4) ) & 0xffff;\n this.h[4] = ((this.h[4] >>> 12) | (this.h[5] << 1) | (this.h[6] << 14)) & 0xffff;\n this.h[5] = ((this.h[6] >>> 2) | (this.h[7] << 11) ) & 0xffff;\n this.h[6] = ((this.h[7] >>> 5) | (this.h[8] << 8) ) & 0xffff;\n this.h[7] = ((this.h[8] >>> 8) | (this.h[9] << 5) ) & 0xffff;\n\n f = this.h[0] + this.pad[0];\n this.h[0] = f & 0xffff;\n for (i = 1; i < 8; i++) {\n f = (((this.h[i] + this.pad[i]) | 0) + (f >>> 16)) | 0;\n this.h[i] = f & 0xffff;\n }\n\n mac[macpos+ 0] = (this.h[0] >>> 0) & 0xff;\n mac[macpos+ 1] = (this.h[0] >>> 8) & 0xff;\n mac[macpos+ 2] = (this.h[1] >>> 0) & 0xff;\n mac[macpos+ 3] = (this.h[1] >>> 8) & 0xff;\n mac[macpos+ 4] = (this.h[2] >>> 0) & 0xff;\n mac[macpos+ 5] = (this.h[2] >>> 8) & 0xff;\n mac[macpos+ 6] = (this.h[3] >>> 0) & 0xff;\n mac[macpos+ 7] = (this.h[3] >>> 8) & 0xff;\n mac[macpos+ 8] = (this.h[4] >>> 0) & 0xff;\n mac[macpos+ 9] = (this.h[4] >>> 8) & 0xff;\n mac[macpos+10] = (this.h[5] >>> 0) & 0xff;\n mac[macpos+11] = (this.h[5] >>> 8) & 0xff;\n mac[macpos+12] = (this.h[6] >>> 0) & 0xff;\n mac[macpos+13] = (this.h[6] >>> 8) & 0xff;\n mac[macpos+14] = (this.h[7] >>> 0) & 0xff;\n mac[macpos+15] = (this.h[7] >>> 8) & 0xff;\n};\n\npoly1305.prototype.update = function(m, mpos, bytes) {\n var i, want;\n\n if (this.leftover) {\n want = (16 - this.leftover);\n if (want > bytes)\n want = bytes;\n for (i = 0; i < want; i++)\n this.buffer[this.leftover + i] = m[mpos+i];\n bytes -= want;\n mpos += want;\n this.leftover += want;\n if (this.leftover < 16)\n return;\n this.blocks(this.buffer, 0, 16);\n this.leftover = 0;\n }\n\n if (bytes >= 16) {\n want = bytes - (bytes % 16);\n this.blocks(m, mpos, want);\n mpos += want;\n bytes -= want;\n }\n\n if (bytes) {\n for (i = 0; i < bytes; i++)\n this.buffer[this.leftover + i] = m[mpos+i];\n this.leftover += bytes;\n }\n};\n\nmodule.exports = poly1305\n", "/* eslint-disable camelcase */\nconst assert = require('nanoassert')\nconst Poly1305 = require('./internal/poly1305')\nconst { crypto_verify_16 } = require('./crypto_verify')\n\nconst crypto_onetimeauth_BYTES = 16\nconst crypto_onetimeauth_KEYBYTES = 32\nconst crypto_onetimeauth_PRIMITIVE = 'poly1305'\n\nmodule.exports = {\n crypto_onetimeauth,\n crypto_onetimeauth_verify,\n crypto_onetimeauth_BYTES,\n crypto_onetimeauth_KEYBYTES,\n crypto_onetimeauth_PRIMITIVE\n}\n\nfunction crypto_onetimeauth (mac, msg, key) {\n assert(mac.byteLength === crypto_onetimeauth_BYTES, \"mac must be 'crypto_onetimeauth_BYTES' bytes\")\n assert(msg.byteLength != null, 'msg must be buffer')\n assert(key.byteLength === crypto_onetimeauth_KEYBYTES, \"key must be 'crypto_onetimeauth_KEYBYTES' bytes\")\n\n var s = new Poly1305(key)\n s.update(msg, 0, msg.byteLength)\n s.finish(mac, 0)\n}\n\nfunction crypto_onetimeauth_verify (mac, msg, key) {\n assert(mac.byteLength === crypto_onetimeauth_BYTES, \"mac must be 'crypto_onetimeauth_BYTES' bytes\")\n assert(msg.byteLength != null, 'msg must be buffer')\n assert(key.byteLength === crypto_onetimeauth_KEYBYTES, \"key must be 'crypto_onetimeauth_KEYBYTES' bytes\")\n\n var tmp = new Uint8Array(16)\n crypto_onetimeauth(tmp, msg, key)\n return crypto_verify_16(mac, 0, tmp, 0)\n}\n", "/* eslint-disable camelcase */\nconst assert = require('nanoassert')\nconst { crypto_stream, crypto_stream_xor } = require('./crypto_stream')\nconst { crypto_onetimeauth, crypto_onetimeauth_verify, crypto_onetimeauth_BYTES, crypto_onetimeauth_KEYBYTES } = require('./crypto_onetimeauth')\n\nconst crypto_secretbox_KEYBYTES = 32\nconst crypto_secretbox_NONCEBYTES = 24\nconst crypto_secretbox_ZEROBYTES = 32\nconst crypto_secretbox_BOXZEROBYTES = 16\nconst crypto_secretbox_MACBYTES = 16\n\nmodule.exports = {\n crypto_secretbox,\n crypto_secretbox_open,\n crypto_secretbox_detached,\n crypto_secretbox_open_detached,\n crypto_secretbox_easy,\n crypto_secretbox_open_easy,\n crypto_secretbox_KEYBYTES,\n crypto_secretbox_NONCEBYTES,\n crypto_secretbox_ZEROBYTES,\n crypto_secretbox_BOXZEROBYTES,\n crypto_secretbox_MACBYTES\n}\n\nfunction crypto_secretbox (c, m, n, k) {\n assert(c.byteLength === m.byteLength, \"c must be 'm.byteLength' bytes\")\n const mlen = m.byteLength\n assert(mlen >= crypto_secretbox_ZEROBYTES, \"mlen must be at least 'crypto_secretbox_ZEROBYTES'\")\n assert(n.byteLength === crypto_secretbox_NONCEBYTES, \"n must be 'crypto_secretbox_NONCEBYTES' bytes\")\n assert(k.byteLength === crypto_secretbox_KEYBYTES, \"k must be 'crypto_secretbox_KEYBYTES' bytes\")\n\n crypto_stream_xor(c, m, n, k)\n crypto_onetimeauth(\n c.subarray(crypto_secretbox_BOXZEROBYTES, crypto_secretbox_BOXZEROBYTES + crypto_onetimeauth_BYTES),\n c.subarray(crypto_secretbox_BOXZEROBYTES + crypto_onetimeauth_BYTES, c.byteLength),\n c.subarray(0, crypto_onetimeauth_KEYBYTES)\n )\n c.fill(0, 0, crypto_secretbox_BOXZEROBYTES)\n}\n\nfunction crypto_secretbox_open (m, c, n, k) {\n assert(c.byteLength === m.byteLength, \"c must be 'm.byteLength' bytes\")\n const mlen = m.byteLength\n assert(mlen >= crypto_secretbox_ZEROBYTES, \"mlen must be at least 'crypto_secretbox_ZEROBYTES'\")\n assert(n.byteLength === crypto_secretbox_NONCEBYTES, \"n must be 'crypto_secretbox_NONCEBYTES' bytes\")\n assert(k.byteLength === crypto_secretbox_KEYBYTES, \"k must be 'crypto_secretbox_KEYBYTES' bytes\")\n\n const x = new Uint8Array(crypto_onetimeauth_KEYBYTES)\n crypto_stream(x, n, k)\n const validMac = crypto_onetimeauth_verify(\n c.subarray(crypto_secretbox_BOXZEROBYTES, crypto_secretbox_BOXZEROBYTES + crypto_onetimeauth_BYTES),\n c.subarray(crypto_secretbox_BOXZEROBYTES + crypto_onetimeauth_BYTES, c.byteLength),\n x\n )\n\n if (validMac === false) return false\n crypto_stream_xor(m, c, n, k)\n m.fill(0, 0, 32)\n return true\n}\n\nfunction crypto_secretbox_detached (o, mac, msg, n, k) {\n assert(o.byteLength === msg.byteLength, \"o must be 'msg.byteLength' bytes\")\n assert(mac.byteLength === crypto_secretbox_MACBYTES, \"mac must be 'crypto_secretbox_MACBYTES' bytes\")\n assert(n.byteLength === crypto_secretbox_NONCEBYTES, \"n must be 'crypto_secretbox_NONCEBYTES' bytes\")\n assert(k.byteLength === crypto_secretbox_KEYBYTES, \"k must be 'crypto_secretbox_KEYBYTES' bytes\")\n\n const tmp = new Uint8Array(msg.byteLength + mac.byteLength)\n crypto_secretbox_easy(tmp, msg, n, k)\n mac.set(tmp.subarray(0, mac.byteLength))\n o.set(tmp.subarray(mac.byteLength))\n return true\n}\n\nfunction crypto_secretbox_open_detached (msg, o, mac, n, k) {\n assert(o.byteLength === msg.byteLength, \"o must be 'msg.byteLength' bytes\")\n assert(mac.byteLength === crypto_secretbox_MACBYTES, \"mac must be 'crypto_secretbox_MACBYTES' bytes\")\n assert(n.byteLength === crypto_secretbox_NONCEBYTES, \"n must be 'crypto_secretbox_NONCEBYTES' bytes\")\n assert(k.byteLength === crypto_secretbox_KEYBYTES, \"k must be 'crypto_secretbox_KEYBYTES' bytes\")\n\n const tmp = new Uint8Array(o.byteLength + mac.byteLength)\n tmp.set(mac)\n tmp.set(o, mac.byteLength)\n return crypto_secretbox_open_easy(msg, tmp, n, k)\n}\n\nfunction crypto_secretbox_easy (o, msg, n, k) {\n assert(o.byteLength === msg.byteLength + crypto_secretbox_MACBYTES, \"o must be 'msg.byteLength + crypto_secretbox_MACBYTES' bytes\")\n assert(n.byteLength === crypto_secretbox_NONCEBYTES, \"n must be 'crypto_secretbox_NONCEBYTES' bytes\")\n assert(k.byteLength === crypto_secretbox_KEYBYTES, \"k must be 'crypto_secretbox_KEYBYTES' bytes\")\n\n const m = new Uint8Array(crypto_secretbox_ZEROBYTES + msg.byteLength)\n const c = new Uint8Array(m.byteLength)\n m.set(msg, crypto_secretbox_ZEROBYTES)\n crypto_secretbox(c, m, n, k)\n o.set(c.subarray(crypto_secretbox_BOXZEROBYTES))\n}\n\nfunction crypto_secretbox_open_easy (msg, box, n, k) {\n assert(box.byteLength === msg.byteLength + crypto_secretbox_MACBYTES, \"box must be 'msg.byteLength + crypto_secretbox_MACBYTES' bytes\")\n assert(n.byteLength === crypto_secretbox_NONCEBYTES, \"n must be 'crypto_secretbox_NONCEBYTES' bytes\")\n assert(k.byteLength === crypto_secretbox_KEYBYTES, \"k must be 'crypto_secretbox_KEYBYTES' bytes\")\n\n const c = new Uint8Array(crypto_secretbox_BOXZEROBYTES + box.byteLength)\n const m = new Uint8Array(c.byteLength)\n c.set(box, crypto_secretbox_BOXZEROBYTES)\n if (crypto_secretbox_open(m, c, n, k) === false) return false\n msg.set(m.subarray(crypto_secretbox_ZEROBYTES))\n return true\n}\n", "/* eslint-disable camelcase */\nconst { crypto_hash_sha512 } = require('./crypto_hash')\nconst { crypto_scalarmult, crypto_scalarmult_base } = require('./crypto_scalarmult')\nconst { randombytes } = require('./randombytes')\nconst { crypto_generichash_batch } = require('./crypto_generichash')\nconst { crypto_stream_xsalsa20_MESSAGEBYTES_MAX } = require('./crypto_stream')\nconst {\n crypto_secretbox_open_easy,\n crypto_secretbox_easy,\n crypto_secretbox_detached,\n crypto_secretbox_open_detached\n} = require('./crypto_secretbox')\nconst xsalsa20 = require('xsalsa20')\nconst assert = require('nanoassert')\n\nconst crypto_box_PUBLICKEYBYTES = 32\nconst crypto_box_SECRETKEYBYTES = 32\nconst crypto_box_NONCEBYTES = 24\nconst crypto_box_ZEROBYTES = 32\nconst crypto_box_BOXZEROBYTES = 16\nconst crypto_box_SEALBYTES = 48\nconst crypto_box_SEEDBYTES = 32\nconst crypto_box_BEFORENMBYTES = 32\nconst crypto_box_MACBYTES = 16\n\nconst crypto_box_curve25519xsalsa20poly1305_MACBYTES = 16\n\nconst crypto_box_MESSAGEBYTES_MAX =\n crypto_stream_xsalsa20_MESSAGEBYTES_MAX -\n crypto_box_curve25519xsalsa20poly1305_MACBYTES\n\nmodule.exports = {\n crypto_box_easy,\n crypto_box_open_easy,\n crypto_box_keypair,\n crypto_box_seed_keypair,\n crypto_box_seal,\n crypto_box_seal_open,\n crypto_box_PUBLICKEYBYTES,\n crypto_box_SECRETKEYBYTES,\n crypto_box_NONCEBYTES,\n crypto_box_ZEROBYTES,\n crypto_box_BOXZEROBYTES,\n crypto_box_SEALBYTES,\n crypto_box_SEEDBYTES,\n crypto_box_BEFORENMBYTES,\n crypto_box_MACBYTES\n}\n\nfunction crypto_box_keypair (pk, sk) {\n check(pk, crypto_box_PUBLICKEYBYTES)\n check(sk, crypto_box_SECRETKEYBYTES)\n randombytes(sk, 32)\n return crypto_scalarmult_base(pk, sk)\n}\nfunction crypto_box_seed_keypair (pk, sk, seed) {\n assert(pk.byteLength === crypto_box_PUBLICKEYBYTES, \"pk should be 'crypto_box_PUBLICKEYBYTES' bytes\")\n assert(sk.byteLength === crypto_box_SECRETKEYBYTES, \"sk should be 'crypto_box_SECRETKEYBYTES' bytes\")\n assert(sk.byteLength === crypto_box_SEEDBYTES, \"sk should be 'crypto_box_SEEDBYTES' bytes\")\n\n const hash = new Uint8Array(64)\n crypto_hash_sha512(hash, seed, 32)\n sk.set(hash.subarray(0, 32))\n hash.fill(0)\n\n return crypto_scalarmult_base(pk, sk)\n}\n\nfunction crypto_box_seal (c, m, pk) {\n check(c, crypto_box_SEALBYTES + m.length)\n check(pk, crypto_box_PUBLICKEYBYTES)\n\n var epk = c.subarray(0, crypto_box_PUBLICKEYBYTES)\n var esk = new Uint8Array(crypto_box_SECRETKEYBYTES)\n crypto_box_keypair(epk, esk)\n\n var n = new Uint8Array(crypto_box_NONCEBYTES)\n crypto_generichash_batch(n, [epk, pk])\n\n var s = new Uint8Array(crypto_box_PUBLICKEYBYTES)\n crypto_scalarmult(s, esk, pk)\n\n var k = new Uint8Array(crypto_box_BEFORENMBYTES)\n var zero = new Uint8Array(16)\n xsalsa20.core_hsalsa20(k, zero, s, xsalsa20.SIGMA)\n\n crypto_secretbox_easy(c.subarray(epk.length), m, n, k)\n\n cleanup(esk)\n}\n\nfunction crypto_box_seal_open (m, c, pk, sk) {\n check(c, crypto_box_SEALBYTES)\n check(m, c.length - crypto_box_SEALBYTES)\n check(pk, crypto_box_PUBLICKEYBYTES)\n check(sk, crypto_box_SECRETKEYBYTES)\n\n var epk = c.subarray(0, crypto_box_PUBLICKEYBYTES)\n\n var n = new Uint8Array(crypto_box_NONCEBYTES)\n crypto_generichash_batch(n, [epk, pk])\n\n var s = new Uint8Array(crypto_box_PUBLICKEYBYTES)\n crypto_scalarmult(s, sk, epk)\n\n var k = new Uint8Array(crypto_box_BEFORENMBYTES)\n var zero = new Uint8Array(16)\n xsalsa20.core_hsalsa20(k, zero, s, xsalsa20.SIGMA)\n\n return crypto_secretbox_open_easy(m, c.subarray(epk.length), n, k)\n}\n\nfunction crypto_box_beforenm (k, pk, sk) {\n const zero = new Uint8Array(16)\n const s = new Uint8Array(32)\n\n assert(crypto_scalarmult(s, sk, pk) === 0)\n\n xsalsa20.core_hsalsa20(k, zero, s, xsalsa20.SIGMA)\n\n return true\n}\n\nfunction crypto_box_detached_afternm (c, mac, m, n, k) {\n return crypto_secretbox_detached(c, mac, m, n, k)\n}\n\nfunction crypto_box_detached (c, mac, m, n, pk, sk) {\n check(mac, crypto_box_MACBYTES)\n check(n, crypto_box_NONCEBYTES)\n check(pk, crypto_box_PUBLICKEYBYTES)\n check(sk, crypto_box_SECRETKEYBYTES)\n\n const k = new Uint8Array(crypto_box_BEFORENMBYTES)\n\n assert(crypto_box_beforenm(k, pk, sk))\n\n const ret = crypto_box_detached_afternm(c, mac, m, n, k)\n cleanup(k)\n\n return ret\n}\n\nfunction crypto_box_easy (c, m, n, pk, sk) {\n assert(\n c.length >= m.length + crypto_box_MACBYTES,\n \"c should be at least 'm.length + crypto_box_MACBYTES' bytes\"\n )\n assert(\n m.length <= crypto_box_MESSAGEBYTES_MAX,\n \"m should be at most 'crypto_box_MESSAGEBYTES_MAX' bytes\"\n )\n\n return crypto_box_detached(\n c.subarray(crypto_box_MACBYTES, m.length + crypto_box_MACBYTES),\n c.subarray(0, crypto_box_MACBYTES),\n m,\n n,\n pk,\n sk\n )\n}\n\nfunction crypto_box_open_detached_afternm (m, c, mac, n, k) {\n return crypto_secretbox_open_detached(m, c, mac, n, k)\n}\n\nfunction crypto_box_open_detached (m, c, mac, n, pk, sk) {\n const k = new Uint8Array(crypto_box_BEFORENMBYTES)\n assert(crypto_box_beforenm(k, pk, sk))\n\n const ret = crypto_box_open_detached_afternm(m, c, mac, n, k)\n cleanup(k)\n\n return ret\n}\n\nfunction crypto_box_open_easy (m, c, n, pk, sk) {\n assert(\n c.length >= m.length + crypto_box_MACBYTES,\n \"c should be at least 'm.length + crypto_box_MACBYTES' bytes\"\n )\n\n return crypto_box_open_detached(\n m,\n c.subarray(crypto_box_MACBYTES, m.length + crypto_box_MACBYTES),\n c.subarray(0, crypto_box_MACBYTES),\n n,\n pk,\n sk\n )\n}\n\nfunction check (buf, len) {\n if (!buf || (len && buf.length < len)) throw new Error('Argument must be a buffer' + (len ? ' of length ' + len : ''))\n}\n\nfunction cleanup (arr) {\n for (let i = 0; i < arr.length; i++) arr[i] = 0\n}\n", "const assert = require('nanoassert')\nconst b4a = require('b4a')\n\nmodule.exports = Sha256\nconst SHA256_BYTES = module.exports.SHA256_BYTES = 32\nconst BLOCKSIZE = 64\n\nconst K = [\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,\n 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,\n 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,\n 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,\n 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,\n 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,\n 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n]\n\nfunction expand (a, b, c, d) {\n var b_ = (((a >>> 17) | (a << 15)) ^ ((a >>> 19) | (a << 13)) ^ (a >>> 10)) + b\n var d_ = (((c >>> 7) | (c << 25)) ^ ((c >>> 18) | (c << 14)) ^ (c >>> 3)) + d\n\n return (b_ + d_) << 0\n}\n\nfunction compress (state, words) {\n // initialise registers\n var ch, maj, s0, s1, T1, T2\n var [a, b, c, d, e, f, g, h] = state\n\n // expand message schedule\n const w = new Uint32Array(64)\n for (let i = 0; i < 16; i++) w[i] = bswap(words[i])\n for (let i = 16; i < 64; i++) w[i] = expand(w[i - 2], w[i - 7], w[i - 15], w[i - 16])\n for (let i = 0; i < 64; i += 4) round(i)\n\n state[0] = state[0] + a\n state[1] = state[1] + b\n state[2] = state[2] + c\n state[3] = state[3] + d\n state[4] = state[4] + e\n state[5] = state[5] + f\n state[6] = state[6] + g\n state[7] = state[7] + h\n\n function round (n) {\n ch = (e & f) ^ (~e & g)\n maj = (a & b) ^ (a & c) ^ (b & c)\n s0 = ((a >>> 2) | (a << 30)) ^ ((a >>> 13) | (a << 19)) ^ ((a >>> 22) | (a << 10))\n s1 = ((e >>> 6) | (e << 26)) ^ ((e >>> 11) | (e << 21)) ^ ((e >>> 25) | (e << 7))\n T1 = h + ch + s1 + w[n] + K[n]\n T2 = s0 + maj\n h = d + T1\n d = T1 + T2\n\n ch = (h & e) ^ (~h & f)\n maj = (d & a) ^ (d & b) ^ (a & b)\n s0 = ((d >>> 2) | (d << 30)) ^ ((d >>> 13) | (d << 19)) ^ ((d >>> 22) | (d << 10))\n s1 = ((h >>> 6) | (h << 26)) ^ ((h >>> 11) | (h << 21)) ^ ((h >>> 25) | (h << 7))\n T1 = g + ch + s1 + w[n + 1] + K[n + 1]\n T2 = s0 + maj\n g = c + T1\n c = T1 + T2\n\n ch = (g & h) ^ (~g & e)\n maj = (c & d) ^ (c & a) ^ (d & a)\n s0 = ((c >>> 2) | (c << 30)) ^ ((c >>> 13) | (c << 19)) ^ ((c >>> 22) | (c << 10))\n s1 = ((g >>> 6) | (g << 26)) ^ ((g >>> 11) | (g << 21)) ^ ((g >>> 25) | (g << 7))\n T1 = f + ch + s1 + w[n + 2] + K[n + 2]\n T2 = s0 + maj\n f = b + T1\n b = T1 + T2\n\n ch = (f & g) ^ (~f & h)\n maj = (b & c) ^ (b & d) ^ (c & d)\n s0 = ((b >>> 2) | (b << 30)) ^ ((b >>> 13) | (b << 19)) ^ ((b >>> 22) | (b << 10))\n s1 = ((f >>> 6) | (f << 26)) ^ ((f >>> 11) | (f << 21)) ^ ((f >>> 25) | (f << 7))\n T1 = e + ch + s1 + w[n + 3] + K[n + 3]\n T2 = s0 + maj\n e = a + T1\n a = T1 + T2\n }\n}\n\nfunction Sha256 () {\n if (!(this instanceof Sha256)) return new Sha256()\n\n this.buffer = new ArrayBuffer(64)\n this.bytesRead = 0\n this.pos = 0\n this.digestLength = SHA256_BYTES\n this.finalised = false\n\n this.load = new Uint8Array(this.buffer)\n this.words = new Uint32Array(this.buffer)\n\n this.state = new Uint32Array([\n 0x6a09e667,\n 0xbb67ae85,\n 0x3c6ef372,\n 0xa54ff53a,\n 0x510e527f,\n 0x9b05688c,\n 0x1f83d9ab,\n 0x5be0cd19\n ])\n\n return this\n}\n\nSha256.prototype.update = function (input, enc) {\n assert(this.finalised === false, 'Hash instance finalised')\n\n var [inputBuf, len] = formatInput(input, enc)\n var i = 0\n this.bytesRead += len\n\n while (len > 0) {\n this.load.set(inputBuf.subarray(i, i + BLOCKSIZE - this.pos), this.pos)\n i += BLOCKSIZE - this.pos\n len -= BLOCKSIZE - this.pos\n\n if (len < 0) break\n\n this.pos = 0\n compress(this.state, this.words)\n }\n\n this.pos = this.bytesRead & 0x3f\n this.load.fill(0, this.pos)\n\n return this\n}\n\nSha256.prototype.digest = function (enc, offset = 0) {\n assert(this.finalised === false, 'Hash instance finalised')\n this.finalised = true\n\n this.load.fill(0, this.pos)\n this.load[this.pos] = 0x80\n\n if (this.pos > 55) {\n compress(this.state, this.words)\n\n this.words.fill(0)\n this.pos = 0\n }\n\n const view = new DataView(this.buffer)\n view.setUint32(56, this.bytesRead / 2 ** 29)\n view.setUint32(60, this.bytesRead << 3)\n\n compress(this.state, this.words)\n\n const resultBuf = new Uint8Array(this.state.map(bswap).buffer)\n\n if (!enc) {\n return new Uint8Array(resultBuf)\n }\n\n if (typeof enc === 'string') {\n return b4a.toString(resultBuf, enc)\n }\n\n assert(enc instanceof Uint8Array, 'input must be Uint8Array or Buffer')\n assert(enc.byteLength >= this.digestLength + offset, 'input not large enough for digest')\n\n for (let i = 0; i < this.digestLength; i++) {\n enc[i + offset] = resultBuf[i]\n }\n\n return enc\n}\n\nfunction HMAC (key) {\n if (!(this instanceof HMAC)) return new HMAC(key)\n\n this.pad = b4a.alloc(64)\n this.inner = Sha256()\n this.outer = Sha256()\n\n const keyhash = b4a.alloc(32)\n if (key.byteLength > 64) {\n Sha256().update(key).digest(keyhash)\n key = keyhash\n }\n\n this.pad.fill(0x36)\n for (let i = 0; i < key.byteLength; i++) {\n this.pad[i] ^= key[i]\n }\n this.inner.update(this.pad)\n\n this.pad.fill(0x5c)\n for (let i = 0; i < key.byteLength; i++) {\n this.pad[i] ^= key[i]\n }\n this.outer.update(this.pad)\n\n this.pad.fill(0)\n keyhash.fill(0)\n}\n\nHMAC.prototype.update = function (input, enc) {\n this.inner.update(input, enc)\n return this\n}\n\nHMAC.prototype.digest = function (enc, offset = 0) {\n this.outer.update(this.inner.digest())\n return this.outer.digest(enc, offset)\n}\n\nSha256.HMAC = HMAC\n\nfunction formatInput (input, enc) {\n var result = b4a.from(input, enc)\n\n return [result, result.byteLength]\n}\n\nfunction bswap (a) {\n var r = ((a & 0x00ff00ff) >>> 8) | ((a & 0x00ff00ff) << 24)\n var l = ((a & 0xff00ff00) << 8) | ((a & 0xff00ff00) >>> 24)\n\n return r | l\n}\n", "var __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __toBinary = /* @__PURE__ */ (() => {\n var table = new Uint8Array(128);\n for (var i = 0; i < 64; i++)\n table[i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i * 4 - 205] = i;\n return (base64) => {\n var n = base64.length, bytes2 = new Uint8Array((n - (base64[n - 1] == \"=\") - (base64[n - 2] == \"=\")) * 3 / 4 | 0);\n for (var i2 = 0, j = 0; i2 < n; ) {\n var c0 = table[base64.charCodeAt(i2++)], c1 = table[base64.charCodeAt(i2++)];\n var c2 = table[base64.charCodeAt(i2++)], c3 = table[base64.charCodeAt(i2++)];\n bytes2[j++] = c0 << 2 | c1 >> 4;\n bytes2[j++] = c1 << 4 | c2 >> 2;\n bytes2[j++] = c2 << 6 | c3;\n }\n return bytes2;\n };\n})();\n\n// wasm-binary:./sha256.wat\nvar require_sha256 = __commonJS({\n \"wasm-binary:./sha256.wat\"(exports2, module2) {\n module2.exports = __toBinary(\"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\");\n }\n});\n\n// wasm-module:./sha256.wat\nvar bytes = require_sha256();\nvar compiled = new WebAssembly.Module(bytes);\nmodule.exports = (imports) => {\n const instance = new WebAssembly.Instance(compiled, imports);\n return instance.exports;\n};\n", "const assert = require('nanoassert')\nconst b4a = require('b4a')\n\nconst wasm = typeof WebAssembly !== 'undefined' && require('./sha256.js')({\n imports: {\n debug: {\n log (...args) {\n console.log(...args.map(int => (int >>> 0).toString(16).padStart(8, '0')))\n },\n log_tee (arg) {\n console.log((arg >>> 0).toString(16).padStart(8, '0'))\n return arg\n }\n }\n }\n})\n\nlet head = 0\nconst freeList = []\n\nmodule.exports = Sha256\nconst SHA256_BYTES = module.exports.SHA256_BYTES = 32\nconst INPUT_OFFSET = 40\nconst STATEBYTES = 108\nconst BLOCKSIZE = 64\n\nfunction Sha256 () {\n if (!(this instanceof Sha256)) return new Sha256()\n if (!(wasm)) throw new Error('WASM not loaded. Wait for Sha256.ready(cb)')\n\n if (!freeList.length) {\n freeList.push(head)\n head += STATEBYTES // need 100 bytes for internal state\n }\n\n this.finalized = false\n this.digestLength = SHA256_BYTES\n this.pointer = freeList.pop()\n this.pos = 0\n\n this._memory = new Uint8Array(wasm.memory.buffer)\n this._memory.fill(0, this.pointer, this.pointer + STATEBYTES)\n\n if (this.pointer + this.digestLength > this._memory.length) this._realloc(this.pointer + STATEBYTES)\n}\n\nSha256.prototype._realloc = function (size) {\n wasm.memory.grow(Math.max(0, Math.ceil(Math.abs(size - this._memory.length) / 65536)))\n this._memory = new Uint8Array(wasm.memory.buffer)\n}\n\nSha256.prototype.update = function (input, enc) {\n assert(this.finalized === false, 'Hash instance finalized')\n\n if (head % 4 !== 0) head += 4 - head % 4\n assert(head % 4 === 0, 'input shoud be aligned for int32')\n\n const [inputBuf, length] = formatInput(input, enc)\n\n assert(inputBuf instanceof Uint8Array, 'input must be Uint8Array or Buffer')\n\n if (head + length > this._memory.length) this._realloc(head + input.length)\n\n this._memory.fill(0, head, head + roundUp(length, BLOCKSIZE) - BLOCKSIZE)\n this._memory.set(inputBuf.subarray(0, BLOCKSIZE - this.pos), this.pointer + INPUT_OFFSET + this.pos)\n this._memory.set(inputBuf.subarray(BLOCKSIZE - this.pos), head)\n\n this.pos = (this.pos + length) & 0x3f\n wasm.sha256(this.pointer, head, length, 0)\n\n return this\n}\n\nSha256.prototype.digest = function (enc, offset = 0) {\n assert(this.finalized === false, 'Hash instance finalized')\n\n this.finalized = true\n freeList.push(this.pointer)\n\n const paddingStart = this.pointer + INPUT_OFFSET + this.pos\n this._memory.fill(0, paddingStart, this.pointer + INPUT_OFFSET + BLOCKSIZE)\n wasm.sha256(this.pointer, head, 0, 1)\n\n const resultBuf = this._memory.subarray(this.pointer, this.pointer + this.digestLength)\n\n if (!enc) {\n return resultBuf\n }\n\n if (typeof enc === 'string') {\n return b4a.toString(resultBuf, enc)\n }\n\n assert(enc instanceof Uint8Array, 'output must be Uint8Array or Buffer')\n assert(enc.byteLength >= this.digestLength + offset,\n \"output must have at least 'SHA256_BYTES' bytes remaining\")\n\n for (let i = 0; i < this.digestLength; i++) {\n enc[i + offset] = resultBuf[i]\n }\n\n return enc\n}\n\nSha256.WASM = wasm\nSha256.WASM_SUPPORTED = typeof WebAssembly !== 'undefined'\n\nSha256.ready = function (cb) {\n if (!cb) cb = noop\n if (!wasm) return cb(new Error('WebAssembly not supported'))\n cb()\n return Promise.resolve()\n}\n\nSha256.prototype.ready = Sha256.ready\n\nfunction HMAC (key) {\n if (!(this instanceof HMAC)) return new HMAC(key)\n\n this.pad = b4a.alloc(64)\n this.inner = Sha256()\n this.outer = Sha256()\n\n const keyhash = b4a.alloc(32)\n if (key.byteLength > 64) {\n Sha256().update(key).digest(keyhash)\n key = keyhash\n }\n\n this.pad.fill(0x36)\n for (let i = 0; i < key.byteLength; i++) {\n this.pad[i] ^= key[i]\n }\n this.inner.update(this.pad)\n\n this.pad.fill(0x5c)\n for (let i = 0; i < key.byteLength; i++) {\n this.pad[i] ^= key[i]\n }\n this.outer.update(this.pad)\n\n this.pad.fill(0)\n keyhash.fill(0)\n}\n\nHMAC.prototype.update = function (input, enc) {\n this.inner.update(input, enc)\n return this\n}\n\nHMAC.prototype.digest = function (enc, offset = 0) {\n this.outer.update(this.inner.digest())\n return this.outer.digest(enc, offset)\n}\n\nSha256.HMAC = HMAC\n\nfunction noop () {}\n\nfunction formatInput (input, enc) {\n var result = b4a.from(input, enc)\n\n return [result, result.byteLength]\n}\n\n// only works for base that is power of 2\nfunction roundUp (n, base) {\n return (n + base - 1) & -base\n}\n", "const js = require('./sha256.js')\nconst wasm = require('sha256-wasm')\n\nvar Proto = js\n\nmodule.exports = function () {\n return new Proto()\n}\n\nmodule.exports.ready = function (cb) {\n wasm.ready(function () { // ignore errors\n cb()\n })\n}\n\nmodule.exports.WASM_SUPPORTED = wasm.WASM_SUPPORTED\nmodule.exports.WASM_LOADED = false\n\nvar SHA256_BYTES = module.exports.SHA256_BYTES = 32\n\nwasm.ready(function (err) {\n if (!err) {\n module.exports.WASM_LOADED = true\n module.exports = Proto = wasm\n }\n})\n", "/* eslint-disable camelcase */\nconst sha256 = require('sha256-universal')\nconst assert = require('nanoassert')\n\nif (new Uint16Array([1])[0] !== 1) throw new Error('Big endian architecture is not supported.')\n\nconst crypto_hash_sha256_BYTES = 32\n\nfunction crypto_hash_sha256 (out, m, n) {\n assert(out.byteLength === crypto_hash_sha256_BYTES, \"out must be 'crypto_hash_sha256_BYTES' bytes long\")\n\n sha256().update(m.subarray(0, n)).digest(out)\n return 0\n}\n\nmodule.exports = {\n crypto_hash_sha256,\n crypto_hash_sha256_BYTES\n}\n", "/* eslint-disable camelcase */\nconst assert = require('nanoassert')\nconst randombytes_buf = require('./randombytes').randombytes_buf\nconst blake2b = require('blake2b')\n\nmodule.exports.crypto_kdf_PRIMITIVE = 'blake2b'\nmodule.exports.crypto_kdf_BYTES_MIN = 16\nmodule.exports.crypto_kdf_BYTES_MAX = 64\nmodule.exports.crypto_kdf_CONTEXTBYTES = 8\nmodule.exports.crypto_kdf_KEYBYTES = 32\n\nfunction STORE64_LE (dest, int) {\n var mul = 1\n var i = 0\n dest[0] = int & 0xFF\n while (++i < 8 && (mul *= 0x100)) {\n dest[i] = (int / mul) & 0xFF\n }\n}\n\nmodule.exports.crypto_kdf_derive_from_key = function crypto_kdf_derive_from_key (subkey, subkey_id, ctx, key) {\n assert(subkey.length >= module.exports.crypto_kdf_BYTES_MIN, 'subkey must be at least crypto_kdf_BYTES_MIN')\n assert(subkey_id >= 0 && subkey_id <= 0x1fffffffffffff, 'subkey_id must be safe integer')\n assert(ctx.length >= module.exports.crypto_kdf_CONTEXTBYTES, 'context must be at least crypto_kdf_CONTEXTBYTES')\n\n var ctx_padded = new Uint8Array(blake2b.PERSONALBYTES)\n var salt = new Uint8Array(blake2b.SALTBYTES)\n\n ctx_padded.set(ctx, 0, module.exports.crypto_kdf_CONTEXTBYTES)\n STORE64_LE(salt, subkey_id)\n\n var outlen = Math.min(subkey.length, module.exports.crypto_kdf_BYTES_MAX)\n blake2b(outlen, key.subarray(0, module.exports.crypto_kdf_KEYBYTES), salt, ctx_padded, true)\n .final(subkey)\n}\n\nmodule.exports.crypto_kdf_keygen = function crypto_kdf_keygen (out) {\n assert(out.length >= module.exports.crypto_kdf_KEYBYTES, 'out.length must be crypto_kdf_KEYBYTES')\n randombytes_buf(out.subarray(0, module.exports.crypto_kdf_KEYBYTES))\n}\n", "/* eslint-disable camelcase */\nconst { crypto_scalarmult_base } = require('./crypto_scalarmult')\nconst { crypto_generichash } = require('./crypto_generichash')\nconst { randombytes_buf } = require('./randombytes')\nconst assert = require('nanoassert')\n\nconst crypto_kx_SEEDBYTES = 32\nconst crypto_kx_PUBLICKEYBYTES = 32\nconst crypto_kx_SECRETKEYBYTES = 32\n\nfunction crypto_kx_keypair (pk, sk) {\n assert(pk.byteLength === crypto_kx_PUBLICKEYBYTES, \"pk must be 'crypto_kx_PUBLICKEYBYTES' bytes\")\n assert(sk.byteLength === crypto_kx_SECRETKEYBYTES, \"sk must be 'crypto_kx_SECRETKEYBYTES' bytes\")\n\n randombytes_buf(sk, crypto_kx_SECRETKEYBYTES)\n return crypto_scalarmult_base(pk, sk)\n}\n\nfunction crypto_kx_seed_keypair (pk, sk, seed) {\n assert(pk.byteLength === crypto_kx_PUBLICKEYBYTES, \"pk must be 'crypto_kx_PUBLICKEYBYTES' bytes\")\n assert(sk.byteLength === crypto_kx_SECRETKEYBYTES, \"sk must be 'crypto_kx_SECRETKEYBYTES' bytes\")\n assert(seed.byteLength === crypto_kx_SEEDBYTES, \"seed must be 'crypto_kx_SEEDBYTES' bytes\")\n\n crypto_generichash(sk, seed)\n return crypto_scalarmult_base(pk, sk)\n}\n\nmodule.exports = {\n crypto_kx_keypair,\n crypto_kx_seed_keypair,\n crypto_kx_SEEDBYTES,\n crypto_kx_SECRETKEYBYTES,\n crypto_kx_PUBLICKEYBYTES\n}\n", "const assert = require('nanoassert')\n\nmodule.exports = Chacha20\n\nconst constant = [1634760805, 857760878, 2036477234, 1797285236]\n\nfunction Chacha20 (nonce, key, counter) {\n assert(key.byteLength === 32)\n assert(nonce.byteLength === 8 || nonce.byteLength === 12)\n\n const n = new Uint32Array(nonce.buffer, nonce.byteOffset, nonce.byteLength / 4)\n const k = new Uint32Array(key.buffer, key.byteOffset, key.byteLength / 4)\n\n if (!counter) counter = 0\n assert(counter < Number.MAX_SAFE_INTEGER)\n\n this.finalized = false\n this.pos = 0\n this.state = new Uint32Array(16)\n\n for (let i = 0; i < 4; i++) this.state[i] = constant[i]\n for (let i = 0; i < 8; i++) this.state[4 + i] = k[i]\n\n this.state[12] = counter & 0xffffffff\n\n if (n.byteLength === 8) {\n this.state[13] = (counter && 0xffffffff00000000) >> 32\n this.state[14] = n[0]\n this.state[15] = n[1]\n } else {\n this.state[13] = n[0]\n this.state[14] = n[1]\n this.state[15] = n[2]\n }\n\n return this\n}\n\nChacha20.prototype.update = function (output, input) {\n assert(!this.finalized, 'cipher finalized.')\n assert(output.byteLength >= input.byteLength,\n 'output cannot be shorter than input.')\n\n let len = input.length\n let offset = this.pos % 64\n this.pos += len\n\n // input position\n let j = 0\n\n let keyStream = chacha20Block(this.state)\n\n // try to finsih the current block\n while (offset > 0 && len > 0) {\n output[j] = input[j++] ^ keyStream[offset]\n offset = (offset + 1) & 0x3f\n if (!offset) this.state[12]++\n len--\n }\n\n // encrypt rest block at a time\n while (len > 0) {\n keyStream = chacha20Block(this.state)\n\n // less than a full block remaining\n if (len < 64) {\n for (let i = 0; i < len; i++) {\n output[j] = input[j++] ^ keyStream[offset++]\n offset &= 0x3f\n }\n\n return\n }\n\n for (; offset < 64;) {\n output[j] = input[j++] ^ keyStream[offset++]\n }\n\n this.state[12]++\n offset = 0\n len -= 64\n }\n}\n\nChacha20.prototype.final = function () {\n this.state.fill(0)\n this.pos = 0\n this.finalized = true\n}\n\nfunction chacha20Block (state) {\n // working state\n const ws = new Uint32Array(16)\n for (let i = 16; i--;) ws[i] = state[i]\n\n for (let i = 0; i < 20; i += 2) {\n QR(ws, 0, 4, 8, 12) // column 0\n QR(ws, 1, 5, 9, 13) // column 1\n QR(ws, 2, 6, 10, 14) // column 2\n QR(ws, 3, 7, 11, 15) // column 3\n\n QR(ws, 0, 5, 10, 15) // diagonal 1 (main diagonal)\n QR(ws, 1, 6, 11, 12) // diagonal 2\n QR(ws, 2, 7, 8, 13) // diagonal 3\n QR(ws, 3, 4, 9, 14) // diagonal 4\n }\n\n for (let i = 0; i < 16; i++) {\n ws[i] += state[i]\n }\n\n return new Uint8Array(ws.buffer, ws.byteOffset, ws.byteLength)\n}\n\nfunction rotl (a, b) {\n return ((a << b) | (a >>> (32 - b)))\n}\n\nfunction QR (obj, a, b, c, d) {\n obj[a] += obj[b]\n obj[d] ^= obj[a]\n obj[d] = rotl(obj[d], 16)\n\n obj[c] += obj[d]\n obj[b] ^= obj[c]\n obj[b] = rotl(obj[b], 12)\n\n obj[a] += obj[b]\n obj[d] ^= obj[a]\n obj[d] = rotl(obj[d], 8)\n\n obj[c] += obj[d]\n obj[b] ^= obj[c]\n obj[b] = rotl(obj[b], 7)\n}\n", "const assert = require('nanoassert')\nconst Chacha20 = require('chacha20-universal')\n\nif (new Uint16Array([1])[0] !== 1) throw new Error('Big endian architecture is not supported.')\n\nexports.crypto_stream_chacha20_KEYBYTES = 32\nexports.crypto_stream_chacha20_NONCEBYTES = 8\nexports.crypto_stream_chacha20_MESSAGEBYTES_MAX = Number.MAX_SAFE_INTEGER\n\nexports.crypto_stream_chacha20_ietf_KEYBYTES = 32\nexports.crypto_stream_chacha20_ietf_NONCEBYTES = 12\nexports.crypto_stream_chacha20_ietf_MESSAGEBYTES_MAX = 2 ** 32\n\nexports.crypto_stream_chacha20 = function (c, n, k) {\n c.fill(0)\n exports.crypto_stream_chacha20_xor(c, c, n, k)\n}\n\nexports.crypto_stream_chacha20_xor = function (c, m, n, k) {\n assert(n.byteLength === exports.crypto_stream_chacha20_NONCEBYTES,\n 'n should be crypto_stream_chacha20_NONCEBYTES')\n assert(k.byteLength === exports.crypto_stream_chacha20_KEYBYTES,\n 'k should be crypto_stream_chacha20_KEYBYTES')\n\n const xor = new Chacha20(n, k)\n xor.update(c, m)\n xor.final()\n}\n\nexports.crypto_stream_chacha20_xor_ic = function (c, m, n, ic, k) {\n assert(n.byteLength === exports.crypto_stream_chacha20_NONCEBYTES,\n 'n should be crypto_stream_chacha20_NONCEBYTES')\n assert(k.byteLength === exports.crypto_stream_chacha20_KEYBYTES,\n 'k should be crypto_stream_chacha20_KEYBYTES')\n\n const xor = new Chacha20(n, k, ic)\n xor.update(c, m)\n xor.final()\n}\n\nexports.crypto_stream_chacha20_xor_instance = function (n, k) {\n assert(n.byteLength === exports.crypto_stream_chacha20_NONCEBYTES,\n 'n should be crypto_stream_chacha20_NONCEBYTES')\n assert(k.byteLength === exports.crypto_stream_chacha20_KEYBYTES,\n 'k should be crypto_stream_chacha20_KEYBYTES')\n\n return new Chacha20(n, k)\n}\n\nexports.crypto_stream_chacha20_ietf = function (c, n, k) {\n c.fill(0)\n exports.crypto_stream_chacha20_ietf_xor(c, c, n, k)\n}\n\nexports.crypto_stream_chacha20_ietf_xor = function (c, m, n, k) {\n assert(n.byteLength === exports.crypto_stream_chacha20_ietf_NONCEBYTES,\n 'n should be crypto_stream_chacha20_ietf_NONCEBYTES')\n assert(k.byteLength === exports.crypto_stream_chacha20_ietf_KEYBYTES,\n 'k should be crypto_stream_chacha20_ietf_KEYBYTES')\n\n const xor = new Chacha20(n, k)\n xor.update(c, m)\n xor.final()\n}\n\nexports.crypto_stream_chacha20_ietf_xor_ic = function (c, m, n, ic, k) {\n assert(n.byteLength === exports.crypto_stream_chacha20_ietf_NONCEBYTES,\n 'n should be crypto_stream_chacha20_ietf_NONCEBYTES')\n assert(k.byteLength === exports.crypto_stream_chacha20_ietf_KEYBYTES,\n 'k should be crypto_stream_chacha20_ietf_KEYBYTES')\n\n const xor = new Chacha20(n, k, ic)\n xor.update(c, m)\n xor.final()\n}\n\nexports.crypto_stream_chacha20_ietf_xor_instance = function (n, k) {\n assert(n.byteLength === exports.crypto_stream_chacha20_ietf_NONCEBYTES,\n 'n should be crypto_stream_chacha20_ietf_NONCEBYTES')\n assert(k.byteLength === exports.crypto_stream_chacha20_ietf_KEYBYTES,\n 'k should be crypto_stream_chacha20_ietf_KEYBYTES')\n\n return new Chacha20(n, k)\n}\n", "/* eslint-disable camelcase */\nconst { crypto_stream_chacha20_ietf, crypto_stream_chacha20_ietf_xor_ic } = require('./crypto_stream_chacha20')\nconst { crypto_verify_16 } = require('./crypto_verify')\nconst Poly1305 = require('./internal/poly1305')\nconst assert = require('nanoassert')\n\nconst crypto_aead_chacha20poly1305_ietf_KEYBYTES = 32\nconst crypto_aead_chacha20poly1305_ietf_NSECBYTES = 0\nconst crypto_aead_chacha20poly1305_ietf_NPUBBYTES = 12\nconst crypto_aead_chacha20poly1305_ietf_ABYTES = 16\nconst crypto_aead_chacha20poly1305_ietf_MESSAGEBYTES_MAX = Number.MAX_SAFE_INTEGER\n\nconst _pad0 = new Uint8Array(16)\n\nfunction crypto_aead_chacha20poly1305_ietf_encrypt (c, m, ad, nsec, npub, k) {\n if (ad === null) return crypto_aead_chacha20poly1305_ietf_encrypt(c, m, new Uint8Array(0), nsec, npub, k)\n\n assert(c.byteLength === m.byteLength + crypto_aead_chacha20poly1305_ietf_ABYTES,\n \"ciphertext should be 'crypto_aead_chacha20poly1305_ietf_ABYTES' longer than message\")\n assert(npub.byteLength === crypto_aead_chacha20poly1305_ietf_NPUBBYTES,\n \"npub should be 'crypto_aead_chacha20poly1305_ietf_NPUBBYTES' long\")\n assert(k.byteLength === crypto_aead_chacha20poly1305_ietf_KEYBYTES,\n \"k should be 'crypto_aead_chacha20poly1305_ietf_KEYBYTES' long\")\n assert(m.byteLength <= crypto_aead_chacha20poly1305_ietf_MESSAGEBYTES_MAX, 'message is too large')\n\n const ret = crypto_aead_chacha20poly1305_ietf_encrypt_detached(c.subarray(0, m.byteLength),\n c.subarray(m.byteLength), m, ad, nsec, npub, k)\n\n return m.byteLength + ret\n}\n\nfunction crypto_aead_chacha20poly1305_ietf_encrypt_detached (c, mac, m, ad, nsec, npub, k) {\n if (ad === null) return crypto_aead_chacha20poly1305_ietf_encrypt_detached(c, mac, m, new Uint8Array(0), nsec, npub, k)\n\n assert(c.byteLength === m.byteLength, 'ciphertext should be same length than message')\n assert(npub.byteLength === crypto_aead_chacha20poly1305_ietf_NPUBBYTES,\n \"npub should be 'crypto_aead_chacha20poly1305_ietf_NPUBBYTES' long\")\n assert(k.byteLength === crypto_aead_chacha20poly1305_ietf_KEYBYTES,\n \"k should be 'crypto_aead_chacha20poly1305_ietf_KEYBYTES' long\")\n assert(m.byteLength <= crypto_aead_chacha20poly1305_ietf_MESSAGEBYTES_MAX, 'message is too large')\n assert(mac.byteLength <= crypto_aead_chacha20poly1305_ietf_ABYTES,\n \"mac should be 'crypto_aead_chacha20poly1305_ietf_ABYTES' long\")\n\n const block0 = new Uint8Array(64)\n var slen = new Uint8Array(8)\n\n crypto_stream_chacha20_ietf(block0, npub, k)\n const poly = new Poly1305(block0)\n block0.fill(0)\n\n poly.update(ad, 0, ad.byteLength)\n poly.update(_pad0, 0, (0x10 - ad.byteLength) & 0xf)\n\n crypto_stream_chacha20_ietf_xor_ic(c, m, npub, 1, k)\n\n poly.update(c, 0, m.byteLength)\n poly.update(_pad0, 0, (0x10 - m.byteLength) & 0xf)\n\n write64LE(slen, 0, ad.byteLength)\n poly.update(slen, 0, slen.byteLength)\n\n write64LE(slen, 0, m.byteLength)\n poly.update(slen, 0, slen.byteLength)\n\n poly.finish(mac, 0)\n slen.fill(0)\n\n return crypto_aead_chacha20poly1305_ietf_ABYTES\n}\n\nfunction crypto_aead_chacha20poly1305_ietf_decrypt (m, nsec, c, ad, npub, k) {\n if (ad === null) return crypto_aead_chacha20poly1305_ietf_decrypt(m, nsec, c, new Uint8Array(0), npub, k)\n\n assert(m.byteLength === c.byteLength - crypto_aead_chacha20poly1305_ietf_ABYTES,\n \"message should be 'crypto_aead_chacha20poly1305_ietf_ABYTES' shorter than ciphertext\")\n assert(npub.byteLength === crypto_aead_chacha20poly1305_ietf_NPUBBYTES,\n \"npub should be 'crypto_aead_chacha20poly1305_ietf_NPUBBYTES' long\")\n assert(k.byteLength === crypto_aead_chacha20poly1305_ietf_KEYBYTES,\n \"k should be 'crypto_aead_chacha20poly1305_ietf_KEYBYTES' long\")\n assert(m.byteLength <= crypto_aead_chacha20poly1305_ietf_MESSAGEBYTES_MAX, 'message is too large')\n\n if (c.byteLength < crypto_aead_chacha20poly1305_ietf_ABYTES) throw new Error('could not verify data')\n\n crypto_aead_chacha20poly1305_ietf_decrypt_detached(\n m, nsec,\n c.subarray(0, c.byteLength - crypto_aead_chacha20poly1305_ietf_ABYTES),\n c.subarray(c.byteLength - crypto_aead_chacha20poly1305_ietf_ABYTES),\n ad, npub, k)\n\n return c.byteLength - crypto_aead_chacha20poly1305_ietf_ABYTES\n}\n\nfunction crypto_aead_chacha20poly1305_ietf_decrypt_detached (m, nsec, c, mac, ad, npub, k) {\n if (ad === null) return crypto_aead_chacha20poly1305_ietf_decrypt_detached(m, nsec, c, mac, new Uint8Array(0), npub, k)\n\n assert(c.byteLength === m.byteLength, 'message should be same length than ciphertext')\n assert(npub.byteLength === crypto_aead_chacha20poly1305_ietf_NPUBBYTES,\n \"npub should be 'crypto_aead_chacha20poly1305_ietf_NPUBBYTES' long\")\n assert(k.byteLength === crypto_aead_chacha20poly1305_ietf_KEYBYTES,\n \"k should be 'crypto_aead_chacha20poly1305_ietf_KEYBYTES' long\")\n assert(m.byteLength <= crypto_aead_chacha20poly1305_ietf_MESSAGEBYTES_MAX, 'message is too large')\n assert(mac.byteLength <= crypto_aead_chacha20poly1305_ietf_ABYTES,\n \"mac should be 'crypto_aead_chacha20poly1305_ietf_ABYTES' long\")\n\n const block0 = new Uint8Array(64)\n const slen = new Uint8Array(8)\n const computed_mac = new Uint8Array(crypto_aead_chacha20poly1305_ietf_ABYTES)\n\n crypto_stream_chacha20_ietf(block0, npub, k)\n const poly = new Poly1305(block0)\n block0.fill(0)\n\n poly.update(ad, 0, ad.byteLength)\n poly.update(_pad0, 0, (0x10 - ad.byteLength) & 0xf)\n\n const mlen = c.byteLength\n poly.update(c, 0, mlen)\n poly.update(_pad0, 0, (0x10 - mlen) & 0xf)\n\n write64LE(slen, 0, ad.byteLength)\n poly.update(slen, 0, slen.byteLength)\n\n write64LE(slen, 0, mlen)\n poly.update(slen, 0, slen.byteLength)\n\n poly.finish(computed_mac, 0)\n\n assert(computed_mac.byteLength === 16)\n const ret = crypto_verify_16(computed_mac, 0, mac, 0)\n\n computed_mac.fill(0)\n slen.fill(0)\n\n if (!ret) {\n m.fill(0)\n throw new Error('could not verify data')\n }\n\n crypto_stream_chacha20_ietf_xor_ic(m, c, npub, 1, k)\n}\n\nfunction write64LE (buf, offset, int) {\n buf.fill(0, 0, 8)\n\n const view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)\n view.setUint32(offset, int & 0xffffffff, true)\n view.setUint32(offset + 4, (int / 2 ** 32) & 0xffffffff, true)\n}\n\nmodule.exports = {\n crypto_aead_chacha20poly1305_ietf_encrypt,\n crypto_aead_chacha20poly1305_ietf_encrypt_detached,\n crypto_aead_chacha20poly1305_ietf_decrypt,\n crypto_aead_chacha20poly1305_ietf_decrypt_detached,\n crypto_aead_chacha20poly1305_ietf_ABYTES,\n crypto_aead_chacha20poly1305_ietf_KEYBYTES,\n crypto_aead_chacha20poly1305_ietf_NPUBBYTES,\n crypto_aead_chacha20poly1305_ietf_NSECBYTES,\n crypto_aead_chacha20poly1305_ietf_MESSAGEBYTES_MAX\n}\n", "/* eslint-disable camelcase */\nconst { sodium_malloc } = require('../memory')\nconst assert = require('nanoassert')\n\nif (new Uint16Array([1])[0] !== 1) throw new Error('Big endian architecture is not supported.')\n\nconst crypto_core_hchacha20_OUTPUTBYTES = 32\nconst crypto_core_hchacha20_INPUTBYTES = 16\nconst crypto_core_hchacha20_KEYBYTES = 32\nconst crypto_core_hchacha20_CONSTBYTES = 16\n\nfunction ROTL32 (x, b) {\n x &= 0xFFFFFFFF\n b &= 0xFFFFFFFF\n return (x << b) | (x >>> (32 - b))\n}\n\nfunction LOAD32_LE (src, offset) {\n assert(src instanceof Uint8Array, 'src not byte array')\n let w = src[offset]\n w |= src[offset + 1] << 8\n w |= src[offset + 2] << 16\n w |= src[offset + 3] << 24\n return w\n}\n\nfunction STORE32_LE (dest, int, offset) {\n assert(dest instanceof Uint8Array, 'dest not byte array')\n var mul = 1\n var i = 0\n dest[offset] = int & 0xFF // grab bottom byte\n while (++i < 4 && (mul *= 0x100)) {\n dest[offset + i] = (int / mul) & 0xFF\n }\n}\n\nfunction QUARTERROUND (l, A, B, C, D) {\n l[A] += l[B]\n l[D] = ROTL32(l[D] ^ l[A], 16)\n l[C] += l[D]\n l[B] = ROTL32(l[B] ^ l[C], 12)\n l[A] += l[B]\n l[D] = ROTL32(l[D] ^ l[A], 8)\n l[C] += l[D]\n l[B] = ROTL32(l[B] ^ l[C], 7)\n}\n\nfunction crypto_core_hchacha20 (out, _in, k, c) {\n assert(out instanceof Uint8Array && out.length === 32, 'out is not an array of 32 bytes')\n assert(k instanceof Uint8Array && k.length === 32, 'k is not an array of 32 bytes')\n assert(c === null || (c instanceof Uint8Array && c.length === 16), 'c is not null or an array of 16 bytes')\n\n let i = 0\n const x = new Uint32Array(16)\n if (!c) {\n x[0] = 0x61707865\n x[1] = 0x3320646E\n x[2] = 0x79622D32\n x[3] = 0x6B206574\n } else {\n x[0] = LOAD32_LE(c, 0)\n x[1] = LOAD32_LE(c, 4)\n x[2] = LOAD32_LE(c, 8)\n x[3] = LOAD32_LE(c, 12)\n }\n x[4] = LOAD32_LE(k, 0)\n x[5] = LOAD32_LE(k, 4)\n x[6] = LOAD32_LE(k, 8)\n x[7] = LOAD32_LE(k, 12)\n x[8] = LOAD32_LE(k, 16)\n x[9] = LOAD32_LE(k, 20)\n x[10] = LOAD32_LE(k, 24)\n x[11] = LOAD32_LE(k, 28)\n x[12] = LOAD32_LE(_in, 0)\n x[13] = LOAD32_LE(_in, 4)\n x[14] = LOAD32_LE(_in, 8)\n x[15] = LOAD32_LE(_in, 12)\n\n for (i = 0; i < 10; i++) {\n QUARTERROUND(x, 0, 4, 8, 12)\n QUARTERROUND(x, 1, 5, 9, 13)\n QUARTERROUND(x, 2, 6, 10, 14)\n QUARTERROUND(x, 3, 7, 11, 15)\n QUARTERROUND(x, 0, 5, 10, 15)\n QUARTERROUND(x, 1, 6, 11, 12)\n QUARTERROUND(x, 2, 7, 8, 13)\n QUARTERROUND(x, 3, 4, 9, 14)\n }\n\n STORE32_LE(out, x[0], 0)\n STORE32_LE(out, x[1], 4)\n STORE32_LE(out, x[2], 8)\n STORE32_LE(out, x[3], 12)\n STORE32_LE(out, x[12], 16)\n STORE32_LE(out, x[13], 20)\n STORE32_LE(out, x[14], 24)\n STORE32_LE(out, x[15], 28)\n\n return 0\n}\n\nfunction crypto_core_hchacha20_outputbytes () {\n return crypto_core_hchacha20_OUTPUTBYTES\n}\n\nfunction crypto_core_hchacha20_inputbytes () {\n return crypto_core_hchacha20_INPUTBYTES\n}\n\nfunction crypto_core_hchacha20_keybytes () {\n return crypto_core_hchacha20_KEYBYTES\n}\n\nfunction crypto_core_hchacha20_constbytes () {\n return crypto_core_hchacha20_CONSTBYTES\n}\n\nmodule.exports = {\n crypto_core_hchacha20_INPUTBYTES,\n LOAD32_LE,\n STORE32_LE,\n QUARTERROUND,\n crypto_core_hchacha20,\n crypto_core_hchacha20_outputbytes,\n crypto_core_hchacha20_inputbytes,\n crypto_core_hchacha20_keybytes,\n crypto_core_hchacha20_constbytes\n}\n", "/* eslint-disable camelcase */\nconst assert = require('nanoassert')\nconst { randombytes_buf } = require('./randombytes')\nconst {\n crypto_stream_chacha20_ietf,\n crypto_stream_chacha20_ietf_xor,\n crypto_stream_chacha20_ietf_xor_ic,\n crypto_stream_chacha20_ietf_KEYBYTES\n} = require('./crypto_stream_chacha20')\nconst { crypto_core_hchacha20, crypto_core_hchacha20_INPUTBYTES } = require('./internal/hchacha20')\nconst Poly1305 = require('./internal/poly1305')\nconst { sodium_increment, sodium_is_zero, sodium_memcmp } = require('./helpers')\n\nconst crypto_onetimeauth_poly1305_BYTES = 16\nconst crypto_secretstream_xchacha20poly1305_COUNTERBYTES = 4\nconst crypto_secretstream_xchacha20poly1305_INONCEBYTES = 8\nconst crypto_aead_xchacha20poly1305_ietf_KEYBYTES = 32\nconst crypto_secretstream_xchacha20poly1305_KEYBYTES = crypto_aead_xchacha20poly1305_ietf_KEYBYTES\nconst crypto_aead_xchacha20poly1305_ietf_NPUBBYTES = 24\nconst crypto_secretstream_xchacha20poly1305_HEADERBYTES = crypto_aead_xchacha20poly1305_ietf_NPUBBYTES\nconst crypto_aead_xchacha20poly1305_ietf_ABYTES = 16\nconst crypto_secretstream_xchacha20poly1305_ABYTES = 1 + crypto_aead_xchacha20poly1305_ietf_ABYTES\nconst crypto_secretstream_xchacha20poly1305_MESSAGEBYTES_MAX = Number.MAX_SAFE_INTEGER\nconst crypto_aead_chacha20poly1305_ietf_MESSAGEBYTES_MAX = Number.MAX_SAFE_INTEGER\nconst crypto_secretstream_xchacha20poly1305_TAGBYTES = 1\nconst crypto_secretstream_xchacha20poly1305_TAG_MESSAGE = new Uint8Array([0])\nconst crypto_secretstream_xchacha20poly1305_TAG_PUSH = new Uint8Array([1])\nconst crypto_secretstream_xchacha20poly1305_TAG_REKEY = new Uint8Array([2])\nconst crypto_secretstream_xchacha20poly1305_TAG_FINAL = new Uint8Array([crypto_secretstream_xchacha20poly1305_TAG_PUSH | crypto_secretstream_xchacha20poly1305_TAG_REKEY])\nconst crypto_secretstream_xchacha20poly1305_STATEBYTES = crypto_secretstream_xchacha20poly1305_KEYBYTES +\n crypto_secretstream_xchacha20poly1305_INONCEBYTES + crypto_secretstream_xchacha20poly1305_COUNTERBYTES + 8\n\nconst KEY_OFFSET = 0\nconst NONCE_OFFSET = crypto_secretstream_xchacha20poly1305_KEYBYTES\nconst PAD_OFFSET = NONCE_OFFSET + crypto_secretstream_xchacha20poly1305_INONCEBYTES + crypto_secretstream_xchacha20poly1305_COUNTERBYTES\n\nconst _pad0 = new Uint8Array(16)\n\nfunction STORE64_LE (dest, int) {\n let mul = 1\n let i = 0\n dest[0] = int & 0xFF\n while (++i < 8 && (mul *= 0x100)) {\n dest[i] = (int / mul) & 0xFF\n }\n}\n\nfunction crypto_secretstream_xchacha20poly1305_counter_reset (state) {\n assert(state.byteLength === crypto_secretstream_xchacha20poly1305_STATEBYTES,\n 'state is should be crypto_secretstream_xchacha20poly1305_STATEBYTES long')\n\n const nonce = state.subarray(NONCE_OFFSET, PAD_OFFSET)\n for (let i = 0; i < crypto_secretstream_xchacha20poly1305_COUNTERBYTES; i++) {\n nonce[i] = 0\n }\n nonce[0] = 1\n}\n\nfunction crypto_secretstream_xchacha20poly1305_keygen (k) {\n assert(k.length === crypto_secretstream_xchacha20poly1305_KEYBYTES)\n randombytes_buf(k)\n}\n\nfunction crypto_secretstream_xchacha20poly1305_init_push (state, out, key) {\n assert(state.byteLength === crypto_secretstream_xchacha20poly1305_STATEBYTES,\n 'state is should be crypto_secretstream_xchacha20poly1305_STATEBYTES long')\n assert(out instanceof Uint8Array && out.length === crypto_secretstream_xchacha20poly1305_HEADERBYTES, 'out not byte array of length crypto_secretstream_xchacha20poly1305_HEADERBYTES')\n assert(key instanceof Uint8Array && key.length === crypto_secretstream_xchacha20poly1305_KEYBYTES, 'key not byte array of length crypto_secretstream_xchacha20poly1305_KEYBYTES')\n\n const k = state.subarray(KEY_OFFSET, NONCE_OFFSET)\n const nonce = state.subarray(NONCE_OFFSET, PAD_OFFSET)\n const pad = state.subarray(PAD_OFFSET)\n\n randombytes_buf(out, crypto_secretstream_xchacha20poly1305_HEADERBYTES)\n crypto_core_hchacha20(k, out, key, null)\n crypto_secretstream_xchacha20poly1305_counter_reset(state)\n for (let i = 0; i < crypto_secretstream_xchacha20poly1305_INONCEBYTES; i++) {\n nonce[i + crypto_secretstream_xchacha20poly1305_COUNTERBYTES] = out[i + crypto_core_hchacha20_INPUTBYTES]\n }\n pad.fill(0)\n}\n\nfunction crypto_secretstream_xchacha20poly1305_init_pull (state, _in, key) {\n assert(state.byteLength === crypto_secretstream_xchacha20poly1305_STATEBYTES,\n 'state is should be crypto_secretstream_xchacha20poly1305_STATEBYTES long')\n assert(_in instanceof Uint8Array && _in.length === crypto_secretstream_xchacha20poly1305_HEADERBYTES,\n '_in not byte array of length crypto_secretstream_xchacha20poly1305_HEADERBYTES')\n assert(key instanceof Uint8Array && key.length === crypto_secretstream_xchacha20poly1305_KEYBYTES,\n 'key not byte array of length crypto_secretstream_xchacha20poly1305_KEYBYTES')\n\n const k = state.subarray(KEY_OFFSET, NONCE_OFFSET)\n const nonce = state.subarray(NONCE_OFFSET, PAD_OFFSET)\n const pad = state.subarray(PAD_OFFSET)\n\n crypto_core_hchacha20(k, _in, key, null)\n crypto_secretstream_xchacha20poly1305_counter_reset(state)\n\n for (let i = 0; i < crypto_secretstream_xchacha20poly1305_INONCEBYTES; i++) {\n nonce[i + crypto_secretstream_xchacha20poly1305_COUNTERBYTES] = _in[i + crypto_core_hchacha20_INPUTBYTES]\n }\n pad.fill(0)\n}\n\nfunction crypto_secretstream_xchacha20poly1305_rekey (state) {\n assert(state.byteLength === crypto_secretstream_xchacha20poly1305_STATEBYTES,\n 'state is should be crypto_secretstream_xchacha20poly1305_STATEBYTES long')\n\n const k = state.subarray(KEY_OFFSET, NONCE_OFFSET)\n const nonce = state.subarray(NONCE_OFFSET, PAD_OFFSET)\n\n const new_key_and_inonce = new Uint8Array(\n crypto_stream_chacha20_ietf_KEYBYTES + crypto_secretstream_xchacha20poly1305_INONCEBYTES)\n let i\n for (i = 0; i < crypto_stream_chacha20_ietf_KEYBYTES; i++) {\n new_key_and_inonce[i] = k[i]\n }\n for (i = 0; i < crypto_secretstream_xchacha20poly1305_INONCEBYTES; i++) {\n new_key_and_inonce[crypto_stream_chacha20_ietf_KEYBYTES + i] =\n nonce[crypto_secretstream_xchacha20poly1305_COUNTERBYTES + i]\n }\n crypto_stream_chacha20_ietf_xor(new_key_and_inonce, new_key_and_inonce, nonce, k)\n for (i = 0; i < crypto_stream_chacha20_ietf_KEYBYTES; i++) {\n k[i] = new_key_and_inonce[i]\n }\n for (i = 0; i < crypto_secretstream_xchacha20poly1305_INONCEBYTES; i++) {\n nonce[crypto_secretstream_xchacha20poly1305_COUNTERBYTES + i] =\n new_key_and_inonce[crypto_stream_chacha20_ietf_KEYBYTES + i]\n }\n crypto_secretstream_xchacha20poly1305_counter_reset(state)\n}\n\nfunction crypto_secretstream_xchacha20poly1305_push (state, out, m, ad, tag) {\n assert(state.byteLength === crypto_secretstream_xchacha20poly1305_STATEBYTES,\n 'state is should be crypto_secretstream_xchacha20poly1305_STATEBYTES long')\n if (!ad) ad = new Uint8Array(0)\n\n const k = state.subarray(KEY_OFFSET, NONCE_OFFSET)\n const nonce = state.subarray(NONCE_OFFSET, PAD_OFFSET)\n\n const block = new Uint8Array(64)\n const slen = new Uint8Array(8)\n\n assert(crypto_secretstream_xchacha20poly1305_MESSAGEBYTES_MAX <=\n crypto_aead_chacha20poly1305_ietf_MESSAGEBYTES_MAX)\n\n crypto_stream_chacha20_ietf(block, nonce, k)\n const poly = new Poly1305(block)\n block.fill(0)\n\n poly.update(ad, 0, ad.byteLength)\n poly.update(_pad0, 0, (0x10 - ad.byteLength) & 0xf)\n\n block[0] = tag[0]\n crypto_stream_chacha20_ietf_xor_ic(block, block, nonce, 1, k)\n\n poly.update(block, 0, block.byteLength)\n out[0] = block[0]\n\n const c = out.subarray(1, out.byteLength)\n crypto_stream_chacha20_ietf_xor_ic(c, m, nonce, 2, k)\n poly.update(c, 0, m.byteLength)\n poly.update(_pad0, 0, (0x10 - block.byteLength + m.byteLength) & 0xf)\n\n STORE64_LE(slen, ad.byteLength)\n poly.update(slen, 0, slen.byteLength)\n STORE64_LE(slen, block.byteLength + m.byteLength)\n poly.update(slen, 0, slen.byteLength)\n\n const mac = out.subarray(1 + m.byteLength, out.byteLength)\n poly.finish(mac, 0)\n\n assert(crypto_onetimeauth_poly1305_BYTES >=\n crypto_secretstream_xchacha20poly1305_INONCEBYTES)\n xor_buf(nonce.subarray(crypto_secretstream_xchacha20poly1305_COUNTERBYTES, nonce.length),\n mac, crypto_secretstream_xchacha20poly1305_INONCEBYTES)\n sodium_increment(nonce)\n\n if ((tag[0] & crypto_secretstream_xchacha20poly1305_TAG_REKEY) !== 0 ||\n sodium_is_zero(nonce.subarray(0, crypto_secretstream_xchacha20poly1305_COUNTERBYTES))) {\n crypto_secretstream_xchacha20poly1305_rekey(state)\n }\n\n return crypto_secretstream_xchacha20poly1305_ABYTES + m.byteLength\n}\n\nfunction crypto_secretstream_xchacha20poly1305_pull (state, m, tag, _in, ad) {\n assert(state.byteLength === crypto_secretstream_xchacha20poly1305_STATEBYTES,\n 'state is should be crypto_secretstream_xchacha20poly1305_STATEBYTES long')\n if (!ad) ad = new Uint8Array(0)\n\n const k = state.subarray(KEY_OFFSET, NONCE_OFFSET)\n const nonce = state.subarray(NONCE_OFFSET, PAD_OFFSET)\n\n const block = new Uint8Array(64)\n const slen = new Uint8Array(8)\n const mac = new Uint8Array(crypto_onetimeauth_poly1305_BYTES)\n\n assert(_in.byteLength >= crypto_secretstream_xchacha20poly1305_ABYTES,\n 'ciphertext is too short.')\n\n const mlen = _in.byteLength - crypto_secretstream_xchacha20poly1305_ABYTES\n crypto_stream_chacha20_ietf(block, nonce, k)\n const poly = new Poly1305(block)\n block.fill(0) // sodium_memzero(block, sizeof block);\n\n poly.update(ad, 0, ad.byteLength)\n poly.update(_pad0, 0, (0x10 - ad.byteLength) & 0xf)\n\n block.fill(0) // memset(block, 0, sizeof block);\n block[0] = _in[0]\n crypto_stream_chacha20_ietf_xor_ic(block, block, nonce, 1, k)\n\n tag[0] = block[0]\n block[0] = _in[0]\n poly.update(block, 0, block.byteLength)\n\n const c = _in.subarray(1, _in.length)\n poly.update(c, 0, mlen)\n\n poly.update(_pad0, 0, (0x10 - block.byteLength + mlen) & 0xf)\n\n STORE64_LE(slen, ad.byteLength)\n poly.update(slen, 0, slen.byteLength)\n STORE64_LE(slen, block.byteLength + m.byteLength)\n poly.update(slen, 0, slen.byteLength)\n\n poly.finish(mac, 0)\n const stored_mac = _in.subarray(1 + mlen, _in.length)\n\n if (!sodium_memcmp(mac, stored_mac)) {\n mac.fill(0)\n throw new Error('MAC could not be verified.')\n }\n\n crypto_stream_chacha20_ietf_xor_ic(m, c.subarray(0, m.length), nonce, 2, k)\n xor_buf(nonce.subarray(crypto_secretstream_xchacha20poly1305_COUNTERBYTES, nonce.length),\n mac, crypto_secretstream_xchacha20poly1305_INONCEBYTES)\n sodium_increment(nonce)\n\n if ((tag & crypto_secretstream_xchacha20poly1305_TAG_REKEY) !== 0 ||\n sodium_is_zero(nonce.subarray(0, crypto_secretstream_xchacha20poly1305_COUNTERBYTES))) {\n crypto_secretstream_xchacha20poly1305_rekey(state)\n }\n\n return mlen\n}\n\nfunction xor_buf (out, _in, n) {\n for (let i = 0; i < n; i++) {\n out[i] ^= _in[i]\n }\n}\n\nmodule.exports = {\n crypto_secretstream_xchacha20poly1305_keygen,\n crypto_secretstream_xchacha20poly1305_init_push,\n crypto_secretstream_xchacha20poly1305_init_pull,\n crypto_secretstream_xchacha20poly1305_rekey,\n crypto_secretstream_xchacha20poly1305_push,\n crypto_secretstream_xchacha20poly1305_pull,\n crypto_secretstream_xchacha20poly1305_STATEBYTES,\n crypto_secretstream_xchacha20poly1305_ABYTES,\n crypto_secretstream_xchacha20poly1305_HEADERBYTES,\n crypto_secretstream_xchacha20poly1305_KEYBYTES,\n crypto_secretstream_xchacha20poly1305_MESSAGEBYTES_MAX,\n crypto_secretstream_xchacha20poly1305_TAGBYTES,\n crypto_secretstream_xchacha20poly1305_TAG_MESSAGE,\n crypto_secretstream_xchacha20poly1305_TAG_PUSH,\n crypto_secretstream_xchacha20poly1305_TAG_REKEY,\n crypto_secretstream_xchacha20poly1305_TAG_FINAL\n}\n", "var __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __toBinary = /* @__PURE__ */ (() => {\n var table = new Uint8Array(128);\n for (var i = 0; i < 64; i++)\n table[i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i * 4 - 205] = i;\n return (base64) => {\n var n = base64.length, bytes2 = new Uint8Array((n - (base64[n - 1] == \"=\") - (base64[n - 2] == \"=\")) * 3 / 4 | 0);\n for (var i2 = 0, j = 0; i2 < n; ) {\n var c0 = table[base64.charCodeAt(i2++)], c1 = table[base64.charCodeAt(i2++)];\n var c2 = table[base64.charCodeAt(i2++)], c3 = table[base64.charCodeAt(i2++)];\n bytes2[j++] = c0 << 2 | c1 >> 4;\n bytes2[j++] = c1 << 4 | c2 >> 2;\n bytes2[j++] = c2 << 6 | c3;\n }\n return bytes2;\n };\n})();\n\n// wasm-binary:./siphash24.wat\nvar require_siphash24 = __commonJS({\n \"wasm-binary:./siphash24.wat\"(exports2, module2) {\n module2.exports = __toBinary(\"AGFzbQEAAAABBgFgAn9/AAMCAQAFBQEBCpBOBxQCBm1lbW9yeQIAB3NpcGhhc2gAAArdCAHaCAIIfgJ/QvXKzYPXrNu38wAhAkLt3pHzlszct+QAIQNC4eSV89bs2bzsACEEQvPK0cunjNmy9AAhBUEIKQMAIQdBECkDACEIIAGtQjiGIQYgAUEHcSELIAAgAWogC2shCiAFIAiFIQUgBCAHhSEEIAMgCIUhAyACIAeFIQICQANAIAAgCkYNASAAKQMAIQkgBSAJhSEFIAIgA3whAiADQg2JIQMgAyAChSEDIAJCIIkhAiAEIAV8IQQgBUIQiSEFIAUgBIUhBSACIAV8IQIgBUIViSEFIAUgAoUhBSAEIAN8IQQgA0IRiSEDIAMgBIUhAyAEQiCJIQQgAiADfCECIANCDYkhAyADIAKFIQMgAkIgiSECIAQgBXwhBCAFQhCJIQUgBSAEhSEFIAIgBXwhAiAFQhWJIQUgBSAChSEFIAQgA3whBCADQhGJIQMgAyAEhSEDIARCIIkhBCACIAmFIQIgAEEIaiEADAALCwJAAkACQAJAAkACQAJAAkAgCw4HBwYFBAMCAQALIAYgADEABkIwhoQhBgsgBiAAMQAFQiiGhCEGCyAGIAAxAARCIIaEIQYLIAYgADEAA0IYhoQhBgsgBiAAMQACQhCGhCEGCyAGIAAxAAFCCIaEIQYLIAYgADEAAIQhBgsgBSAGhSEFIAIgA3whAiADQg2JIQMgAyAChSEDIAJCIIkhAiAEIAV8IQQgBUIQiSEFIAUgBIUhBSACIAV8IQIgBUIViSEFIAUgAoUhBSAEIAN8IQQgA0IRiSEDIAMgBIUhAyAEQiCJIQQgAiADfCECIANCDYkhAyADIAKFIQMgAkIgiSECIAQgBXwhBCAFQhCJIQUgBSAEhSEFIAIgBXwhAiAFQhWJIQUgBSAChSEFIAQgA3whBCADQhGJIQMgAyAEhSEDIARCIIkhBCACIAaFIQIgBEL/AYUhBCACIAN8IQIgA0INiSEDIAMgAoUhAyACQiCJIQIgBCAFfCEEIAVCEIkhBSAFIASFIQUgAiAFfCECIAVCFYkhBSAFIAKFIQUgBCADfCEEIANCEYkhAyADIASFIQMgBEIgiSEEIAIgA3whAiADQg2JIQMgAyAChSEDIAJCIIkhAiAEIAV8IQQgBUIQiSEFIAUgBIUhBSACIAV8IQIgBUIViSEFIAUgAoUhBSAEIAN8IQQgA0IRiSEDIAMgBIUhAyAEQiCJIQQgAiADfCECIANCDYkhAyADIAKFIQMgAkIgiSECIAQgBXwhBCAFQhCJIQUgBSAEhSEFIAIgBXwhAiAFQhWJIQUgBSAChSEFIAQgA3whBCADQhGJIQMgAyAEhSEDIARCIIkhBCACIAN8IQIgA0INiSEDIAMgAoUhAyACQiCJIQIgBCAFfCEEIAVCEIkhBSAFIASFIQUgAiAFfCECIAVCFYkhBSAFIAKFIQUgBCADfCEEIANCEYkhAyADIASFIQMgBEIgiSEEQQAgAiADIAQgBYWFhTcDAAs=\");\n }\n});\n\n// wasm-module:./siphash24.wat\nvar bytes = require_siphash24();\nvar compiled = new WebAssembly.Module(bytes);\nmodule.exports = (imports) => {\n const instance = new WebAssembly.Instance(compiled, imports);\n return instance.exports;\n};\n", "module.exports = fallback\n\nfunction _add (a, b) {\n var rl = a.l + b.l\n var a2 = {\n h: a.h + b.h + (rl / 2 >>> 31) >>> 0,\n l: rl >>> 0\n }\n a.h = a2.h\n a.l = a2.l\n}\n\nfunction _xor (a, b) {\n a.h ^= b.h\n a.h >>>= 0\n a.l ^= b.l\n a.l >>>= 0\n}\n\nfunction _rotl (a, n) {\n var a2 = {\n h: a.h << n | a.l >>> (32 - n),\n l: a.l << n | a.h >>> (32 - n)\n }\n a.h = a2.h\n a.l = a2.l\n}\n\nfunction _rotl32 (a) {\n var al = a.l\n a.l = a.h\n a.h = al\n}\n\nfunction _compress (v0, v1, v2, v3) {\n _add(v0, v1)\n _add(v2, v3)\n _rotl(v1, 13)\n _rotl(v3, 16)\n _xor(v1, v0)\n _xor(v3, v2)\n _rotl32(v0)\n _add(v2, v1)\n _add(v0, v3)\n _rotl(v1, 17)\n _rotl(v3, 21)\n _xor(v1, v2)\n _xor(v3, v0)\n _rotl32(v2)\n}\n\nfunction _get_int (a, offset) {\n return (a[offset + 3] << 24) | (a[offset + 2] << 16) | (a[offset + 1] << 8) | a[offset]\n}\n\nfunction fallback (out, m, key) { // modified from https://github.com/jedisct1/siphash-js to use uint8arrays\n var k0 = {h: _get_int(key, 4), l: _get_int(key, 0)}\n var k1 = {h: _get_int(key, 12), l: _get_int(key, 8)}\n var v0 = {h: k0.h, l: k0.l}\n var v2 = k0\n var v1 = {h: k1.h, l: k1.l}\n var v3 = k1\n var mi\n var mp = 0\n var ml = m.length\n var ml7 = ml - 7\n var buf = new Uint8Array(new ArrayBuffer(8))\n\n _xor(v0, {h: 0x736f6d65, l: 0x70736575})\n _xor(v1, {h: 0x646f7261, l: 0x6e646f6d})\n _xor(v2, {h: 0x6c796765, l: 0x6e657261})\n _xor(v3, {h: 0x74656462, l: 0x79746573})\n\n while (mp < ml7) {\n mi = {h: _get_int(m, mp + 4), l: _get_int(m, mp)}\n _xor(v3, mi)\n _compress(v0, v1, v2, v3)\n _compress(v0, v1, v2, v3)\n _xor(v0, mi)\n mp += 8\n }\n\n buf[7] = ml\n var ic = 0\n while (mp < ml) {\n buf[ic++] = m[mp++]\n }\n while (ic < 7) {\n buf[ic++] = 0\n }\n\n mi = {\n h: buf[7] << 24 | buf[6] << 16 | buf[5] << 8 | buf[4],\n l: buf[3] << 24 | buf[2] << 16 | buf[1] << 8 | buf[0]\n }\n\n _xor(v3, mi)\n _compress(v0, v1, v2, v3)\n _compress(v0, v1, v2, v3)\n _xor(v0, mi)\n _xor(v2, { h: 0, l: 0xff })\n _compress(v0, v1, v2, v3)\n _compress(v0, v1, v2, v3)\n _compress(v0, v1, v2, v3)\n _compress(v0, v1, v2, v3)\n\n var h = v0\n _xor(h, v1)\n _xor(h, v2)\n _xor(h, v3)\n\n out[0] = h.l & 0xff\n out[1] = (h.l >> 8) & 0xff\n out[2] = (h.l >> 16) & 0xff\n out[3] = (h.l >> 24) & 0xff\n out[4] = h.h & 0xff\n out[5] = (h.h >> 8) & 0xff\n out[6] = (h.h >> 16) & 0xff\n out[7] = (h.h >> 24) & 0xff\n}\n", "var assert = require('nanoassert')\nvar wasm = typeof WebAssembly !== 'undefined' && require('./siphash24')()\nvar fallback = require('./fallback')\n\nmodule.exports = siphash24\n\nvar BYTES = siphash24.BYTES = 8\nvar KEYBYTES = siphash24.KEYBYTES = 16\n\nsiphash24.WASM_SUPPORTED = !!wasm\nsiphash24.WASM_LOADED = !!wasm\n\nvar memory = new Uint8Array(wasm ? wasm.memory.buffer : 0)\n\nfunction siphash24 (data, key, out, noAssert) {\n if (!out) out = new Uint8Array(8)\n\n if (noAssert !== true) {\n assert(out.length >= BYTES, 'output must be at least ' + BYTES)\n assert(key.length >= KEYBYTES, 'key must be at least ' + KEYBYTES)\n }\n\n if (wasm) {\n if (data.length + 24 > memory.length) realloc(data.length + 24)\n memory.set(key, 8)\n memory.set(data, 24)\n wasm.siphash(24, data.length)\n out.set(memory.subarray(0, 8))\n } else {\n fallback(out, data, key)\n }\n\n return out\n}\n\nfunction realloc (size) {\n wasm.memory.grow(Math.max(0, Math.ceil(Math.abs(size - memory.length) / 65536)))\n memory = new Uint8Array(wasm.memory.buffer)\n}\n", "var siphash = require('siphash24')\n\nif (new Uint16Array([1])[0] !== 1) throw new Error('Big endian architecture is not supported.')\n\nexports.crypto_shorthash_PRIMITIVE = 'siphash24'\nexports.crypto_shorthash_BYTES = siphash.BYTES\nexports.crypto_shorthash_KEYBYTES = siphash.KEYBYTES\nexports.crypto_shorthash_WASM_SUPPORTED = siphash.WASM_SUPPORTED\nexports.crypto_shorthash_WASM_LOADED = siphash.WASM_LOADED\nexports.crypto_shorthash = shorthash\n\nfunction shorthash (out, data, key, noAssert) {\n siphash(data, key, out, noAssert)\n}\n", "/* eslint-disable camelcase, one-var */\nconst { crypto_verify_32 } = require('./crypto_verify')\nconst { crypto_hash } = require('./crypto_hash')\nconst {\n gf, gf0, gf1, D, D2,\n X, Y, I, A, Z, M, S,\n sel25519, pack25519,\n inv25519, unpack25519\n} = require('./internal/ed25519')\nconst { randombytes } = require('./randombytes')\nconst { crypto_scalarmult_BYTES } = require('./crypto_scalarmult.js')\nconst { crypto_hash_sha512_BYTES } = require('./crypto_hash.js')\nconst assert = require('nanoassert')\n\nconst crypto_sign_ed25519_PUBLICKEYBYTES = 32\nconst crypto_sign_ed25519_SECRETKEYBYTES = 64\nconst crypto_sign_ed25519_SEEDBYTES = 32\nconst crypto_sign_ed25519_BYTES = 64\n\nconst crypto_sign_BYTES = crypto_sign_ed25519_BYTES\nconst crypto_sign_PUBLICKEYBYTES = crypto_sign_ed25519_PUBLICKEYBYTES\nconst crypto_sign_SECRETKEYBYTES = crypto_sign_ed25519_SECRETKEYBYTES\nconst crypto_sign_SEEDBYTES = crypto_sign_ed25519_SEEDBYTES\n\nmodule.exports = {\n crypto_sign_keypair,\n crypto_sign_seed_keypair,\n crypto_sign,\n crypto_sign_detached,\n crypto_sign_open,\n crypto_sign_verify_detached,\n crypto_sign_BYTES,\n crypto_sign_PUBLICKEYBYTES,\n crypto_sign_SECRETKEYBYTES,\n crypto_sign_SEEDBYTES,\n crypto_sign_ed25519_PUBLICKEYBYTES,\n crypto_sign_ed25519_SECRETKEYBYTES,\n crypto_sign_ed25519_SEEDBYTES,\n crypto_sign_ed25519_BYTES,\n crypto_sign_ed25519_pk_to_curve25519,\n crypto_sign_ed25519_sk_to_curve25519,\n crypto_sign_ed25519_sk_to_pk,\n unpackneg,\n pack\n}\n\nfunction set25519 (r, a) {\n for (let i = 0; i < 16; i++) r[i] = a[i] | 0\n}\n\nfunction pow2523 (o, i) {\n var c = gf()\n var a\n for (a = 0; a < 16; a++) c[a] = i[a]\n for (a = 250; a >= 0; a--) {\n S(c, c)\n if (a !== 1) M(c, c, i)\n }\n for (a = 0; a < 16; a++) o[a] = c[a]\n}\n\nfunction add (p, q) {\n var a = gf(), b = gf(), c = gf(),\n d = gf(), e = gf(), f = gf(),\n g = gf(), h = gf(), t = gf()\n\n Z(a, p[1], p[0])\n Z(t, q[1], q[0])\n M(a, a, t)\n A(b, p[0], p[1])\n A(t, q[0], q[1])\n M(b, b, t)\n M(c, p[3], q[3])\n M(c, c, D2)\n M(d, p[2], q[2])\n A(d, d, d)\n Z(e, b, a)\n Z(f, d, c)\n A(g, d, c)\n A(h, b, a)\n\n M(p[0], e, f)\n M(p[1], h, g)\n M(p[2], g, f)\n M(p[3], e, h)\n}\n\nfunction cswap (p, q, b) {\n var i\n for (i = 0; i < 4; i++) {\n sel25519(p[i], q[i], b)\n }\n}\n\nfunction pack (r, p) {\n var tx = gf(), ty = gf(), zi = gf()\n inv25519(zi, p[2])\n M(tx, p[0], zi)\n M(ty, p[1], zi)\n pack25519(r, ty)\n r[31] ^= par25519(tx) << 7\n}\n\nfunction scalarmult (p, q, s) {\n // don't mutate q\n var h = [gf(q[0]), gf(q[1]), gf(q[2]), gf(q[3])]\n var b, i\n set25519(p[0], gf0)\n set25519(p[1], gf1)\n set25519(p[2], gf1)\n set25519(p[3], gf0)\n for (i = 255; i >= 0; --i) {\n b = (s[(i / 8) | 0] >> (i & 7)) & 1\n cswap(p, h, b)\n add(h, p)\n add(p, p)\n cswap(p, h, b)\n }\n}\n\nfunction scalarbase (p, s) {\n var q = [gf(), gf(), gf(), gf()]\n set25519(q[0], X)\n set25519(q[1], Y)\n set25519(q[2], gf1)\n M(q[3], X, Y)\n scalarmult(p, q, s)\n}\n\nfunction crypto_sign_keypair (pk, sk, seeded) {\n check(pk, crypto_sign_PUBLICKEYBYTES)\n check(sk, crypto_sign_SECRETKEYBYTES)\n\n var d = new Uint8Array(64)\n var p = [gf(), gf(), gf(), gf()]\n var i\n\n if (!seeded) randombytes(sk, 32)\n crypto_hash(d, sk, 32)\n d[0] &= 248\n d[31] &= 127\n d[31] |= 64\n\n scalarbase(p, d)\n pack(pk, p)\n\n for (i = 0; i < 32; i++) sk[i + 32] = pk[i]\n}\n\nfunction crypto_sign_seed_keypair (pk, sk, seed) {\n check(seed, crypto_sign_SEEDBYTES)\n sk.set(seed)\n return crypto_sign_keypair(pk, sk, true)\n}\n\nvar L = new Float64Array([0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde, 0x14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x10])\n\nfunction modL (r, x) {\n var carry, i, j, k\n for (i = 63; i >= 32; --i) {\n carry = 0\n for (j = i - 32, k = i - 12; j < k; ++j) {\n x[j] += carry - 16 * x[i] * L[j - (i - 32)]\n carry = (x[j] + 128) >> 8\n x[j] -= carry * 256\n }\n x[j] += carry\n x[i] = 0\n }\n carry = 0\n for (j = 0; j < 32; j++) {\n x[j] += carry - (x[31] >> 4) * L[j]\n carry = x[j] >> 8\n x[j] &= 255\n }\n for (j = 0; j < 32; j++) x[j] -= carry * L[j]\n for (i = 0; i < 32; i++) {\n x[i + 1] += x[i] >> 8\n r[i] = x[i] & 255\n }\n}\n\nfunction reduce (r) {\n var x = new Float64Array(64)\n for (let i = 0; i < 64; i++) x[i] = r[i]\n for (let i = 0; i < 64; i++) r[i] = 0\n modL(r, x)\n}\n\n// Note: difference from C - smlen returned, not passed as argument.\nfunction crypto_sign (sm, m, sk) {\n check(sm, crypto_sign_BYTES + m.length)\n check(m, 0)\n check(sk, crypto_sign_SECRETKEYBYTES)\n var n = m.length\n\n var d = new Uint8Array(64), h = new Uint8Array(64), r = new Uint8Array(64)\n var i, j, x = new Float64Array(64)\n var p = [gf(), gf(), gf(), gf()]\n\n crypto_hash(d, sk, 32)\n d[0] &= 248\n d[31] &= 127\n d[31] |= 64\n\n var smlen = n + 64\n for (i = 0; i < n; i++) sm[64 + i] = m[i]\n for (i = 0; i < 32; i++) sm[32 + i] = d[32 + i]\n\n crypto_hash(r, sm.subarray(32), n + 32)\n reduce(r)\n scalarbase(p, r)\n pack(sm, p)\n\n for (i = 32; i < 64; i++) sm[i] = sk[i]\n crypto_hash(h, sm, n + 64)\n reduce(h)\n\n for (i = 0; i < 64; i++) x[i] = 0\n for (i = 0; i < 32; i++) x[i] = r[i]\n for (i = 0; i < 32; i++) {\n for (j = 0; j < 32; j++) {\n x[i + j] += h[i] * d[j]\n }\n }\n\n modL(sm.subarray(32), x)\n return smlen\n}\n\nfunction crypto_sign_detached (sig, m, sk) {\n var sm = new Uint8Array(m.length + crypto_sign_BYTES)\n crypto_sign(sm, m, sk)\n for (let i = 0; i < crypto_sign_BYTES; i++) sig[i] = sm[i]\n}\n\nfunction unpackneg (r, p) {\n var t = gf(), chk = gf(), num = gf(),\n den = gf(), den2 = gf(), den4 = gf(),\n den6 = gf()\n\n set25519(r[2], gf1)\n unpack25519(r[1], p)\n S(num, r[1])\n M(den, num, D)\n Z(num, num, r[2])\n A(den, r[2], den)\n\n S(den2, den)\n S(den4, den2)\n M(den6, den4, den2)\n M(t, den6, num)\n M(t, t, den)\n\n pow2523(t, t)\n M(t, t, num)\n M(t, t, den)\n M(t, t, den)\n M(r[0], t, den)\n\n S(chk, r[0])\n M(chk, chk, den)\n if (!neq25519(chk, num)) M(r[0], r[0], I)\n\n S(chk, r[0])\n M(chk, chk, den)\n if (!neq25519(chk, num)) return false\n\n if (par25519(r[0]) === (p[31] >> 7)) {\n Z(r[0], gf(), r[0])\n }\n\n M(r[3], r[0], r[1])\n return true\n}\n\n/* eslint-disable no-unused-vars */\nfunction crypto_sign_open (msg, sm, pk) {\n check(msg, sm.length - crypto_sign_BYTES)\n check(sm, crypto_sign_BYTES)\n check(pk, crypto_sign_PUBLICKEYBYTES)\n var n = sm.length\n var m = new Uint8Array(sm.length)\n\n var i, mlen\n var t = new Uint8Array(32), h = new Uint8Array(64)\n var p = [gf(), gf(), gf(), gf()],\n q = [gf(), gf(), gf(), gf()]\n\n mlen = -1\n if (n < 64) return false\n\n if (!unpackneg(q, pk)) return false\n\n for (i = 0; i < n; i++) m[i] = sm[i]\n for (i = 0; i < 32; i++) m[i + 32] = pk[i]\n crypto_hash(h, m, n)\n reduce(h)\n scalarmult(p, q, h)\n\n scalarbase(q, sm.subarray(32))\n add(p, q)\n pack(t, p)\n\n n -= 64\n if (!crypto_verify_32(sm, 0, t, 0)) {\n for (i = 0; i < n; i++) m[i] = 0\n return false\n // throw new Error('crypto_sign_open failed')\n }\n\n for (i = 0; i < n; i++) msg[i] = sm[i + 64]\n mlen = n\n return true\n}\n/* eslint-enable no-unused-vars */\n\nfunction crypto_sign_verify_detached (sig, m, pk) {\n check(sig, crypto_sign_BYTES)\n var sm = new Uint8Array(m.length + crypto_sign_BYTES)\n var i = 0\n for (i = 0; i < crypto_sign_BYTES; i++) sm[i] = sig[i]\n for (i = 0; i < m.length; i++) sm[i + crypto_sign_BYTES] = m[i]\n return crypto_sign_open(m, sm, pk)\n}\n\nfunction par25519 (a) {\n var d = new Uint8Array(32)\n pack25519(d, a)\n return d[0] & 1\n}\n\nfunction neq25519 (a, b) {\n var c = new Uint8Array(32), d = new Uint8Array(32)\n pack25519(c, a)\n pack25519(d, b)\n return crypto_verify_32(c, 0, d, 0)\n}\n\nfunction ed25519_mul_l (p, q) {\n scalarmult(p, q, L)\n}\n\nfunction ed25519_is_on_main_subgroup (p) {\n var pl = [gf(), gf(), gf(), gf()]\n\n ed25519_mul_l(pl, p)\n\n var zero = 0\n for (let i = 0; i < 16; i++) {\n zero |= (pl[0][i] & 0xffff)\n }\n\n return zero === 0\n}\n\nfunction crypto_sign_ed25519_pk_to_curve25519 (x25519_pk, ed25519_pk) {\n check(x25519_pk, crypto_sign_PUBLICKEYBYTES)\n check(ed25519_pk, crypto_sign_ed25519_PUBLICKEYBYTES)\n\n var a = [gf(), gf(), gf(), gf()]\n var x = gf([1])\n var one_minus_y = gf([1])\n\n assert(\n isSmallOrder(ed25519_pk) &&\n unpackneg(a, ed25519_pk) &&\n ed25519_is_on_main_subgroup(a), 'Cannot convert key: bad point')\n\n for (let i = 0; i < a.length; i++) {\n pack25519(x25519_pk, a[i])\n }\n\n Z(one_minus_y, one_minus_y, a[1])\n A(x, x, a[1])\n inv25519(one_minus_y, one_minus_y)\n M(x, x, one_minus_y)\n pack25519(x25519_pk, x)\n\n return 0\n}\n\nfunction isSmallOrder (s) {\n Uint8Array.from([])\n\n var bad_points = [\n // 0 (order 4)\n Uint8Array.from([0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]),\n\n // 1 (order 1)\n Uint8Array.from([0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]),\n\n // 2707385501144840649318225287225658788936804267575313519463743609750303402022(order 8)\n Uint8Array.from([0x26, 0xe8, 0x95, 0x8f, 0xc2, 0xb2, 0x27, 0xb0, 0x45, 0xc3,\n 0xf4, 0x89, 0xf2, 0xef, 0x98, 0xf0, 0xd5, 0xdf, 0xac, 0x05, 0xd3,\n 0xc6, 0x33, 0x39, 0xb1, 0x38, 0x02, 0x88, 0x6d, 0x53, 0xfc, 0x05]),\n\n // 55188659117513257062467267217118295137698188065244968500265048394206261417927 (order 8)\n Uint8Array.from([0xc7, 0x17, 0x6a, 0x70, 0x3d, 0x4d, 0xd8, 0x4f, 0xba, 0x3c,\n 0x0b, 0x76, 0x0d, 0x10, 0x67, 0x0f, 0x2a, 0x20, 0x53, 0xfa, 0x2c,\n 0x39, 0xcc, 0xc6, 0x4e, 0xc7, 0xfd, 0x77, 0x92, 0xac, 0x03, 0x7a]),\n\n // p-1 (order 2)\n Uint8Array.from([0xec, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f]),\n\n // p (=0 order 4)\n Uint8Array.from([0xed, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f]),\n\n // p + 1 (=1 order 1)\n Uint8Array.from([0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f])\n ]\n\n var c = new Uint8Array(7)\n var j\n\n check(bad_points, 7)\n for (let i = 0; i < bad_points.length; i++) {\n for (j = 0; j < 31; j++) {\n c[i] |= s[j] ^ bad_points[i][j]\n }\n }\n\n for (let i = 0; i < bad_points.length; i++) {\n c[i] |= (s[j] & 0x7f) ^ bad_points[i][j]\n }\n\n var k = 0\n for (let i = 0; i < bad_points.length; i++) {\n k |= (c[i] - 1)\n }\n\n return ((k >> 8) & 1) === 0\n}\n\nfunction crypto_sign_ed25519_sk_to_pk (pk, sk) {\n check(pk, crypto_sign_ed25519_PUBLICKEYBYTES)\n pk.set(sk.subarray(crypto_sign_ed25519_SEEDBYTES))\n return pk\n}\n\nfunction crypto_sign_ed25519_sk_to_curve25519 (curveSk, edSk) {\n assert(curveSk && curveSk.byteLength === crypto_scalarmult_BYTES, \"curveSk must be 'crypto_sign_SECRETKEYBYTES' long\")\n assert(edSk && edSk.byteLength === crypto_sign_ed25519_SECRETKEYBYTES, \"edSk must be 'crypto_sign_ed25519_SECRETKEYBYTES' long\")\n\n var h = new Uint8Array(crypto_hash_sha512_BYTES)\n crypto_hash(h, edSk, 32)\n\n h[0] &= 248\n h[31] &= 127\n h[31] |= 64\n\n curveSk.set(h.subarray(0, crypto_scalarmult_BYTES))\n h.fill(0)\n return curveSk\n}\n\nfunction check (buf, len, arg = 'Argument') {\n if (!buf || (len && buf.length < len)) throw new Error(arg + ' must be a buffer' + (len ? ' of length ' + len : ''))\n}\n", "'use strict'\n\n// Based on https://github.com/dchest/tweetnacl-js/blob/6dcbcaf5f5cbfd313f2dcfe763db35c828c8ff5b/nacl-fast.js.\n\n// Ported in 2014 by Dmitry Chestnykh and Devi Mandiri.\n// Public domain.\n//\n// Implementation derived from TweetNaCl version 20140427.\n// See for details: http://tweetnacl.cr.yp.to/\n\nforward(require('./randombytes'))\nforward(require('./memory'))\nforward(require('./helpers'))\nforward(require('./crypto_verify'))\nforward(require('./crypto_auth'))\nforward(require('./crypto_box'))\nforward(require('./crypto_generichash'))\nforward(require('./crypto_hash'))\nforward(require('./crypto_hash_sha256'))\nforward(require('./crypto_kdf'))\nforward(require('./crypto_kx'))\nforward(require('./crypto_aead'))\nforward(require('./crypto_onetimeauth'))\nforward(require('./crypto_scalarmult'))\nforward(require('./crypto_secretbox'))\nforward(require('./crypto_secretstream'))\nforward(require('./crypto_shorthash'))\nforward(require('./crypto_sign'))\nforward(require('./crypto_stream'))\nforward(require('./crypto_stream_chacha20'))\n\nfunction forward (submodule) {\n Object.keys(submodule).forEach(function (prop) {\n module.exports[prop] = submodule[prop]\n })\n}\n", "const UINT_32_MAX = Math.pow(2, 32)\n\nexports.encodingLength = function () {\n return 8\n}\n\nexports.encode = function (num, buf, offset) {\n if (!buf) buf = Buffer.allocUnsafe(8)\n if (!offset) offset = 0\n\n const top = Math.floor(num / UINT_32_MAX)\n const rem = num - top * UINT_32_MAX\n\n buf.writeUInt32BE(top, offset)\n buf.writeUInt32BE(rem, offset + 4)\n return buf\n}\n\nexports.decode = function (buf, offset) {\n if (!offset) offset = 0\n\n const top = buf.readUInt32BE(offset)\n const rem = buf.readUInt32BE(offset + 4)\n\n return top * UINT_32_MAX + rem\n}\n\nexports.encode.bytes = 8\nexports.decode.bytes = 8\n", "const sodium = require('sodium-universal')\nconst uint64be = require('uint64be')\n\n// https://en.wikipedia.org/wiki/Merkle_tree#Second_preimage_attack\nconst LEAF_TYPE = Buffer.from([0])\nconst PARENT_TYPE = Buffer.from([1])\nconst ROOT_TYPE = Buffer.from([2])\nconst CAP_TYPE = Buffer.from([3])\n\nconst HYPERCORE = Buffer.from('hypercore')\nconst HYPERCORE_CAP = Buffer.from('hypercore capability')\n\nexports.writerCapability = function (key, secretKey, split) {\n if (!split) return null\n\n const out = Buffer.allocUnsafe(32)\n sodium.crypto_generichash_batch(out, [\n CAP_TYPE,\n HYPERCORE_CAP,\n split.tx.slice(0, 32),\n key\n ], split.rx.slice(0, 32))\n\n return exports.sign(out, secretKey)\n}\n\nexports.verifyRemoteWriterCapability = function (key, cap, split) {\n if (!split) return null\n\n const out = Buffer.allocUnsafe(32)\n sodium.crypto_generichash_batch(out, [\n CAP_TYPE,\n HYPERCORE_CAP,\n split.rx.slice(0, 32),\n key\n ], split.tx.slice(0, 32))\n\n return exports.verify(out, cap, key)\n}\n\n// TODO: add in the CAP_TYPE in a future version\nexports.capability = function (key, split) {\n if (!split) return null\n\n const out = Buffer.allocUnsafe(32)\n sodium.crypto_generichash_batch(out, [\n HYPERCORE_CAP,\n split.tx.slice(0, 32),\n key\n ], split.rx.slice(0, 32))\n\n return out\n}\n\n// TODO: add in the CAP_TYPE in a future version\nexports.remoteCapability = function (key, split) {\n if (!split) return null\n\n const out = Buffer.allocUnsafe(32)\n sodium.crypto_generichash_batch(out, [\n HYPERCORE_CAP,\n split.rx.slice(0, 32),\n key\n ], split.tx.slice(0, 32))\n\n return out\n}\n\nexports.keyPair = function (seed) {\n const publicKey = Buffer.allocUnsafe(sodium.crypto_sign_PUBLICKEYBYTES)\n const secretKey = Buffer.allocUnsafe(sodium.crypto_sign_SECRETKEYBYTES)\n\n if (seed) sodium.crypto_sign_seed_keypair(publicKey, secretKey, seed)\n else sodium.crypto_sign_keypair(publicKey, secretKey)\n\n return {\n publicKey,\n secretKey\n }\n}\n\nexports.validateKeyPair = function (keyPair) {\n const pk = Buffer.allocUnsafe(sodium.crypto_sign_PUBLICKEYBYTES)\n sodium.crypto_sign_ed25519_sk_to_pk(pk, keyPair.secretKey)\n return pk.equals(keyPair.publicKey)\n}\n\nexports.sign = function (message, secretKey) {\n const signature = Buffer.allocUnsafe(sodium.crypto_sign_BYTES)\n sodium.crypto_sign_detached(signature, message, secretKey)\n return signature\n}\n\nexports.verify = function (message, signature, publicKey) {\n return sodium.crypto_sign_verify_detached(signature, message, publicKey)\n}\n\nexports.data = function (data) {\n const out = Buffer.allocUnsafe(32)\n\n sodium.crypto_generichash_batch(out, [\n LEAF_TYPE,\n encodeUInt64(data.length),\n data\n ])\n\n return out\n}\n\nexports.leaf = function (leaf) {\n return exports.data(leaf.data)\n}\n\nexports.parent = function (a, b) {\n if (a.index > b.index) {\n const tmp = a\n a = b\n b = tmp\n }\n\n const out = Buffer.allocUnsafe(32)\n\n sodium.crypto_generichash_batch(out, [\n PARENT_TYPE,\n encodeUInt64(a.size + b.size),\n a.hash,\n b.hash\n ])\n\n return out\n}\n\nexports.tree = function (roots, out) {\n const buffers = new Array(3 * roots.length + 1)\n var j = 0\n\n buffers[j++] = ROOT_TYPE\n\n for (var i = 0; i < roots.length; i++) {\n const r = roots[i]\n buffers[j++] = r.hash\n buffers[j++] = encodeUInt64(r.index)\n buffers[j++] = encodeUInt64(r.size)\n }\n\n if (!out) out = Buffer.allocUnsafe(32)\n sodium.crypto_generichash_batch(out, buffers)\n return out\n}\n\nexports.signable = function (roots, length) {\n const out = Buffer.allocUnsafe(40)\n\n if (Buffer.isBuffer(roots)) roots.copy(out)\n else exports.tree(roots, out.slice(0, 32))\n\n uint64be.encode(length, out.slice(32))\n\n return out\n}\n\nexports.randomBytes = function (n) {\n const buf = Buffer.allocUnsafe(n)\n sodium.randombytes_buf(buf)\n return buf\n}\n\nexports.discoveryKey = function (publicKey) {\n const digest = Buffer.allocUnsafe(32)\n sodium.crypto_generichash(digest, HYPERCORE, publicKey)\n return digest\n}\n\nif (sodium.sodium_free) {\n exports.free = function (secureBuf) {\n if (secureBuf.secure) sodium.sodium_free(secureBuf)\n }\n} else {\n exports.free = function () {}\n}\n\nfunction encodeUInt64 (n) {\n return uint64be.encode(n, Buffer.allocUnsafe(8))\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,WAAO,UAAU;AAEjB,QAAM,iBAAN,cAA6B,MAAM;AAAA,IAAC;AACpC,mBAAe,UAAU,OAAO;AAQhC,aAAS,OAAQ,GAAG,GAAG;AACrB,UAAI,CAAC,GAAG;AACN,YAAI,MAAM,IAAI,eAAe,CAAC;AAC9B,YAAI,MAAM,kBAAmB,OAAM,kBAAkB,KAAK,MAAM;AAChE,cAAM;AAAA,MACR;AAAA,IACF;AAAA;AAAA;;;ACjBA;AAAA;AAAA,QAAI,SAAS;AAEb,QAAI,eAAe,WAAY;AAC7B,UAAI,QAAQ;AACZ,UAAI,SAAS,WAAW,UAAU,WAAW;AAE7C,eAAS,aAAc,KAAK,GAAG;AAC7B,iBAAS,IAAI,GAAG,IAAI,GAAG,KAAK,OAAO;AACjC,iBAAO,gBAAgB,IAAI,WAAW,IAAI,QAAQ,IAAI,IAAI,YAAY,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC;AAAA,QAC/F;AAAA,MACF;AAEA,eAAS,UAAW,KAAK,GAAG;AAC1B,YAAI,WAAW,IAAI,QAAQ,IAAI,YAAY,CAAC,EAAE,IAAI,OAAO,YAAY,CAAC,CAAC;AAAA,MACzE;AAEA,eAAS,SAAU;AACjB,cAAM,IAAI,MAAM,6CAA6C;AAAA,MAC/D;AAEA,UAAI,UAAU,OAAO,gBAAiB,QAAO;AAE7C,UAAI,aAAW,MAAM;AAEnB,iBAAS,UAAQ,uBAAa;AAC9B,YAAI,UAAU,OAAO,YAAa,QAAO;AAAA,MAC3C;AAEA,aAAO;AAAA,IACT,GAAG;AAGH,WAAO,eAAe,OAAO,SAAS,eAAe;AAAA,MACnD,OAAO;AAAA,IACT,CAAC;AAED,WAAO,QAAQ,kBAAkB,SAAU,KAAK;AAC9C,aAAO,KAAK,mBAAmB;AAC/B,kBAAY,KAAK,IAAI,UAAU;AAAA,IACjC;AAAA;AAAA;;;ACvCA;AAAA;AAEA,aAAS,cAAe,GAAG;AACzB,aAAO,IAAI,WAAW,CAAC;AAAA,IACzB;AAEA,aAAS,YAAa,GAAG;AACvB,qBAAe,CAAC;AAChB,eAAS,EAAE,MAAM,YAAY,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;AAAA,IACnD;AAEA,aAAS,eAAgB,KAAK;AAC5B,UAAI,KAAK,CAAC;AAAA,IACZ;AAEA,QAAI;AAEJ,aAAS,WAAY;AACnB,UAAI,KAAM,QAAO;AACjB,UAAI,iBAAiB,WAAW;AAChC,UAAI,kBAAkB,KAAM,EAAC,EAAE,eAAe,IAAI,UAAQ,+BAAqB;AAC/E,aAAO,IAAI,eAAe;AAC1B,aAAO;AAAA,IACT;AAEA,WAAO,UAAU;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA;AAAA;;;AC7BA;AAAA;AACA,WAAO,UAAU;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,aAAS,GAAI,GAAG,IAAI,GAAG,IAAI,GAAG;AAC5B,UAAI,IAAI;AACR,eAAS,IAAI,GAAG,IAAI,GAAG,IAAK,MAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;AACrD,cAAQ,IAAM,IAAI,MAAO,KAAM;AAAA,IACjC;AAGA,WAAO,eAAe,OAAO,SAAS,MAAM;AAAA,MAC1C,OAAO;AAAA,IACT,CAAC;AAED,aAAS,iBAAkB,GAAG,IAAI,GAAG,IAAI;AACvC,aAAO,GAAG,GAAG,IAAI,GAAG,IAAI,EAAE,MAAM;AAAA,IAClC;AAEA,aAAS,iBAAkB,GAAG,IAAI,GAAG,IAAI;AACvC,aAAO,GAAG,GAAG,IAAI,GAAG,IAAI,EAAE,MAAM;AAAA,IAClC;AAEA,aAAS,iBAAkB,GAAG,IAAI,GAAG,IAAI;AACvC,aAAO,GAAG,GAAG,IAAI,GAAG,IAAI,EAAE,MAAM;AAAA,IAClC;AAAA;AAAA;;;AC5BA;AAAA;AACA,QAAM,SAAS;AACf,QAAM,EAAE,GAAG,IAAI;AAEf,aAAS,iBAAkB,GAAG;AAC5B,YAAM,OAAO,EAAE;AACf,UAAI,IAAI;AACR,eAAS,IAAI,GAAG,IAAI,MAAM,KAAK;AAC7B,aAAK,EAAE,CAAC;AACR,UAAE,CAAC,IAAI;AACP,cAAM;AAAA,MACR;AAAA,IACF;AAEA,aAAS,cAAe,GAAG,GAAG;AAC5B,aAAO,EAAE,eAAe,EAAE,YAAY,+BAA+B;AAErE,aAAO,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,UAAU,MAAM;AAAA,IAC1C;AAEA,aAAS,eAAgB,KAAK;AAC5B,UAAI,IAAI;AACR,eAAS,IAAI,GAAG,IAAI,IAAI,QAAQ,IAAK,MAAK,IAAI,CAAC;AAC/C,aAAO,MAAM;AAAA,IACf;AAEA,WAAO,UAAU;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA;AAAA;;;AC9BA;AAAA;AAAA,aAAS,WAAY,QAAQ;AAC3B,aAAO,OAAO;AAAA,IAChB;AAEA,aAAS,SAAU,QAAQ;AACzB,YAAM,MAAM,OAAO;AAEnB,UAAI,SAAS;AAEb,eAAS,IAAI,GAAG,IAAI,KAAK,KAAK;AAC5B,kBAAU,OAAO,aAAa,OAAO,CAAC,CAAC;AAAA,MACzC;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,MAAO,QAAQ,QAAQ,SAAS,GAAG,SAAS,WAAW,MAAM,GAAG;AACvE,YAAM,MAAM,KAAK,IAAI,QAAQ,OAAO,aAAa,MAAM;AAEvD,eAAS,IAAI,GAAG,IAAI,KAAK,KAAK;AAC5B,eAAO,SAAS,CAAC,IAAI,OAAO,WAAW,CAAC;AAAA,MAC1C;AAEA,aAAO;AAAA,IACT;AAEA,WAAO,UAAU;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA;AAAA;;;AC9BA;AAAA;AAAA,QAAM,WAAW;AAEjB,QAAM,QAAQ,IAAI,WAAW,GAAG;AAEhC,aAAS,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;AACxC,YAAM,SAAS,WAAW,CAAC,CAAC,IAAI;AAAA,IAClC;AAEA;AAAA;AAAA,MAAc;AAAA,IAAI,IAAI;AACtB;AAAA;AAAA,MAAc;AAAA,IAAI,IAAI;AAEtB,aAAS,WAAY,QAAQ;AAC3B,UAAI,MAAM,OAAO;AAEjB,UAAI,OAAO,WAAW,MAAM,CAAC,MAAM,GAAM;AACzC,UAAI,MAAM,KAAK,OAAO,WAAW,MAAM,CAAC,MAAM,GAAM;AAEpD,aAAQ,MAAM,MAAO;AAAA,IACvB;AAEA,aAAS,SAAU,QAAQ;AACzB,YAAM,MAAM,OAAO;AAEnB,UAAI,SAAS;AAEb,eAAS,IAAI,GAAG,IAAI,KAAK,KAAK,GAAG;AAC/B,kBACE,SAAS,OAAO,CAAC,KAAK,CAAC,IACvB,UAAW,OAAO,CAAC,IAAI,MAAM,IAAM,OAAO,IAAI,CAAC,KAAK,CAAE,IACtD,UAAW,OAAO,IAAI,CAAC,IAAI,OAAO,IAAM,OAAO,IAAI,CAAC,KAAK,CAAE,IAC3D,SAAS,OAAO,IAAI,CAAC,IAAI,EAAE;AAAA,MAE/B;AAEA,UAAI,MAAM,MAAM,GAAG;AACjB,iBAAS,OAAO,UAAU,GAAG,OAAO,SAAS,CAAC,IAAI;AAAA,MACpD,WAAW,MAAM,MAAM,GAAG;AACxB,iBAAS,OAAO,UAAU,GAAG,OAAO,SAAS,CAAC,IAAI;AAAA,MACpD;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,MAAO,QAAQ,QAAQ,SAAS,GAAG,SAAS,WAAW,MAAM,GAAG;AACvE,YAAM,MAAM,KAAK,IAAI,QAAQ,OAAO,aAAa,MAAM;AAEvD,eAAS,IAAI,GAAG,IAAI,GAAG,IAAI,KAAK,KAAK,GAAG;AACtC,cAAM,IAAI,MAAM,OAAO,WAAW,CAAC,CAAC;AACpC,cAAM,IAAI,MAAM,OAAO,WAAW,IAAI,CAAC,CAAC;AACxC,cAAM,IAAI,MAAM,OAAO,WAAW,IAAI,CAAC,CAAC;AACxC,cAAM,IAAI,MAAM,OAAO,WAAW,IAAI,CAAC,CAAC;AAExC,eAAO,GAAG,IAAK,KAAK,IAAM,KAAK;AAC/B,eAAO,GAAG,KAAM,IAAI,OAAO,IAAM,KAAK;AACtC,eAAO,GAAG,KAAM,IAAI,MAAM,IAAM,IAAI;AAAA,MACtC;AAEA,aAAO;AAAA,IACT;AAEA,WAAO,UAAU;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA;AAAA;;;AChEA;AAAA;AAAA,aAAS,WAAY,QAAQ;AAC3B,aAAO,OAAO,WAAW;AAAA,IAC3B;AAEA,aAAS,SAAU,QAAQ;AACzB,YAAM,MAAM,OAAO;AAEnB,eAAS,IAAI,SAAS,OAAO,QAAQ,OAAO,YAAY,GAAG;AAE3D,UAAI,SAAS;AACb,UAAI,IAAI;AAER,eAAS,IAAI,MAAO,MAAM,GAAI,IAAI,GAAG,KAAK,GAAG;AAC3C,kBAAU,OAAO,UAAU,CAAC,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG;AAAA,MAC5D;AAEA,aAAO,IAAI,KAAK,KAAK;AACnB,kBAAU,OAAO,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG;AAAA,MAC3D;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,MAAO,QAAQ,QAAQ,SAAS,GAAG,SAAS,WAAW,MAAM,GAAG;AACvE,YAAM,MAAM,KAAK,IAAI,QAAQ,OAAO,aAAa,MAAM;AAEvD,eAAS,IAAI,GAAG,IAAI,KAAK,KAAK;AAC5B,cAAM,IAAI,SAAS,OAAO,WAAW,IAAI,CAAC,CAAC;AAC3C,cAAM,IAAI,SAAS,OAAO,WAAW,IAAI,IAAI,CAAC,CAAC;AAE/C,YAAI,MAAM,UAAa,MAAM,QAAW;AACtC,iBAAO,OAAO,SAAS,GAAG,CAAC;AAAA,QAC7B;AAEA,eAAO,SAAS,CAAC,IAAK,KAAK,IAAK;AAAA,MAClC;AAEA,aAAO;AAAA,IACT;AAEA,WAAO,UAAU;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,aAAS,SAAU,MAAM;AACvB,UAAI,QAAQ,MAAQ,QAAQ,GAAM,QAAO,OAAO;AAChD,UAAI,QAAQ,MAAQ,QAAQ,GAAM,QAAO,OAAO,KAAO;AACvD,UAAI,QAAQ,MAAQ,QAAQ,IAAM,QAAO,OAAO,KAAO;AAAA,IACzD;AAAA;AAAA;;;AClDA;AAAA;AAAA,aAAS,WAAY,QAAQ;AAC3B,UAAI,SAAS;AAEb,eAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,IAAI,GAAG,KAAK;AAC7C,cAAM,OAAO,OAAO,WAAW,CAAC;AAEhC,YAAI,QAAQ,SAAU,QAAQ,SAAU,IAAI,IAAI,GAAG;AACjD,gBAAMA,QAAO,OAAO,WAAW,IAAI,CAAC;AAEpC,cAAIA,SAAQ,SAAUA,SAAQ,OAAQ;AACpC,sBAAU;AACV;AACA;AAAA,UACF;AAAA,QACF;AAEA,YAAI,QAAQ,IAAM,WAAU;AAAA,iBACnB,QAAQ,KAAO,WAAU;AAAA,YAC7B,WAAU;AAAA,MACjB;AAEA,aAAO;AAAA,IACT;AAEA,QAAI;AAEJ,QAAI,OAAO,gBAAgB,aAAa;AACtC,YAAM,UAAU,IAAI,YAAY;AAEhC,iBAAW,SAASC,UAAU,QAAQ;AACpC,eAAO,QAAQ,OAAO,MAAM;AAAA,MAC9B;AAAA,IACF,OAAO;AACL,iBAAW,SAASA,UAAU,QAAQ;AACpC,cAAM,MAAM,OAAO;AAEnB,YAAI,SAAS;AACb,YAAI,IAAI;AAER,eAAO,IAAI,KAAK;AACd,cAAI,OAAO,OAAO,CAAC;AAEnB,cAAI,QAAQ,KAAM;AAChB,sBAAU,OAAO,aAAa,IAAI;AAClC;AACA;AAAA,UACF;AAEA,cAAI,cAAc;AAClB,cAAI,YAAY;AAEhB,cAAI,QAAQ,KAAM;AAChB,0BAAc;AACd,wBAAY,OAAO;AAAA,UACrB,WAAW,QAAQ,KAAM;AACvB,0BAAc;AACd,wBAAY,OAAO;AAAA,UACrB,WAAW,QAAQ,KAAM;AACvB,0BAAc;AACd,wBAAY,OAAO;AAAA,UACrB;AAEA,cAAI,MAAM,IAAI,cAAc,GAAG;AAC7B,gBAAI,IAAI;AAER,mBAAO,IAAI,aAAa;AACtB,qBAAO,OAAO,IAAI,IAAI,CAAC;AACvB,0BAAa,aAAa,IAAM,OAAO;AACvC,mBAAK;AAAA,YACP;AAAA,UACF,OAAO;AACL,wBAAY;AACZ,0BAAc,MAAM;AAAA,UACtB;AAEA,oBAAU,OAAO,cAAc,SAAS;AACxC,eAAK,cAAc;AAAA,QACrB;AAEA,eAAO;AAAA,MACT;AAAA,IACF;AAEA,QAAI;AAEJ,QAAI,OAAO,gBAAgB,aAAa;AACtC,YAAM,UAAU,IAAI,YAAY;AAEhC,cAAQ,SAASC,OAAO,QAAQ,QAAQ,SAAS,GAAG,SAAS,WAAW,MAAM,GAAG;AAC/E,cAAM,MAAM,KAAK,IAAI,QAAQ,OAAO,aAAa,MAAM;AACvD,gBAAQ,WAAW,QAAQ,OAAO,SAAS,QAAQ,SAAS,GAAG,CAAC;AAChE,eAAO;AAAA,MACT;AAAA,IACF,OAAO;AACL,cAAQ,SAASA,OAAO,QAAQ,QAAQ,SAAS,GAAG,SAAS,WAAW,MAAM,GAAG;AAC/E,cAAM,MAAM,KAAK,IAAI,QAAQ,OAAO,aAAa,MAAM;AAEvD,iBAAS,OAAO,SAAS,QAAQ,SAAS,GAAG;AAE7C,YAAI,IAAI;AACR,YAAI,IAAI;AAER,eAAO,IAAI,OAAO,QAAQ;AACxB,gBAAM,OAAO,OAAO,YAAY,CAAC;AAEjC,cAAI,QAAQ,KAAM;AAChB,mBAAO,GAAG,IAAI;AACd;AACA;AAAA,UACF;AAEA,cAAI,QAAQ;AACZ,cAAI,OAAO;AAEX,cAAI,QAAQ,MAAO;AACjB,oBAAQ;AACR,mBAAO;AAAA,UACT,WAAW,QAAQ,OAAQ;AACzB,oBAAQ;AACR,mBAAO;AAAA,UACT,WAAW,QAAQ,SAAU;AAC3B,oBAAQ;AACR,mBAAO;AAAA,UACT;AAEA,iBAAO,GAAG,IAAI,OAAQ,QAAQ;AAC9B,mBAAS;AAET,iBAAO,SAAS,GAAG;AACjB,mBAAO,GAAG,IAAI,MAAS,QAAQ,QAAS;AACxC,qBAAS;AAAA,UACX;AAEA,eAAK,QAAQ,QAAU,IAAI;AAAA,QAC7B;AAEA,eAAO;AAAA,MACT;AAAA,IACF;AAEA,WAAO,UAAU;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA;AAAA;;;AChJA;AAAA;AAAA,aAAS,WAAY,QAAQ;AAC3B,aAAO,OAAO,SAAS;AAAA,IACzB;AAEA,aAAS,SAAU,QAAQ;AACzB,YAAM,MAAM,OAAO;AAEnB,UAAI,SAAS;AAEb,eAAS,IAAI,GAAG,IAAI,MAAM,GAAG,KAAK,GAAG;AACnC,kBAAU,OAAO,aAAa,OAAO,CAAC,IAAK,OAAO,IAAI,CAAC,IAAI,GAAI;AAAA,MACjE;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,MAAO,QAAQ,QAAQ,SAAS,GAAG,SAAS,WAAW,MAAM,GAAG;AACvE,YAAM,MAAM,KAAK,IAAI,QAAQ,OAAO,aAAa,MAAM;AAEvD,UAAI,QAAQ;AAEZ,eAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,EAAE,GAAG;AACtC,aAAK,SAAS,KAAK,EAAG;AAEtB,cAAM,IAAI,OAAO,WAAW,CAAC;AAC7B,cAAM,KAAK,KAAK;AAChB,cAAM,KAAK,IAAI;AAEf,eAAO,SAAS,IAAI,CAAC,IAAI;AACzB,eAAO,SAAS,IAAI,IAAI,CAAC,IAAI;AAAA,MAC/B;AAEA,aAAO;AAAA,IACT;AAEA,WAAO,UAAU;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA;AAAA;;;ACvCA;AAAA;AAAA,QAAM,QAAQ;AACd,QAAM,SAAS;AACf,QAAM,MAAM;AACZ,QAAM,OAAO;AACb,QAAM,UAAU;AAEhB,QAAM,KAAK,IAAI,WAAW,YAAY,GAAG,GAAI,EAAE,MAAM,EAAE,CAAC,MAAM;AAE9D,aAAS,SAAU,UAAU;AAC3B,cAAQ,UAAU;AAAA,QAChB,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACH,iBAAO;AAAA,QACT;AACE,gBAAM,IAAI,MAAM,qBAAqB,QAAQ,EAAE;AAAA,MACnD;AAAA,IACF;AAEA,aAAS,SAAU,OAAO;AACxB,aAAO,iBAAiB;AAAA,IAC1B;AAEA,aAAS,WAAY,UAAU;AAC7B,UAAI;AACF,iBAAS,QAAQ;AACjB,eAAO;AAAA,MACT,QAAQ;AACN,eAAO;AAAA,MACT;AAAA,IACF;AAEA,aAAS,MAAO,MAAMC,OAAM,UAAU;AACpC,YAAM,SAAS,IAAI,WAAW,IAAI;AAClC,UAAIA,UAAS,OAAW,SAAQ,KAAK,QAAQA,OAAM,GAAG,OAAO,YAAY,QAAQ;AACjF,aAAO;AAAA,IACT;AAEA,aAAS,YAAa,MAAM;AAC1B,aAAO,IAAI,WAAW,IAAI;AAAA,IAC5B;AAEA,aAAS,gBAAiB,MAAM;AAC9B,aAAO,IAAI,WAAW,IAAI;AAAA,IAC5B;AAEA,aAAS,WAAY,QAAQ,UAAU;AACrC,aAAO,SAAS,QAAQ,EAAE,WAAW,MAAM;AAAA,IAC7C;AAEA,aAAS,QAAS,GAAG,GAAG;AACtB,UAAI,MAAM,EAAG,QAAO;AAEpB,YAAM,MAAM,KAAK,IAAI,EAAE,YAAY,EAAE,UAAU;AAE/C,UAAI,IAAI,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU;AACrD,UAAI,IAAI,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU;AAErD,UAAI,IAAI;AAER,eAAS,IAAI,MAAO,MAAM,GAAI,IAAI,GAAG,KAAK,GAAG;AAC3C,cAAM,IAAI,EAAE,UAAU,GAAG,EAAE;AAC3B,cAAM,IAAI,EAAE,UAAU,GAAG,EAAE;AAC3B,YAAI,MAAM,EAAG;AAAA,MACf;AAEA,aAAO,IAAI,KAAK,KAAK;AACnB,cAAM,IAAI,EAAE,SAAS,CAAC;AACtB,cAAM,IAAI,EAAE,SAAS,CAAC;AACtB,YAAI,IAAI,EAAG,QAAO;AAClB,YAAI,IAAI,EAAG,QAAO;AAAA,MACpB;AAEA,aAAO,EAAE,aAAa,EAAE,aAAa,IAAI,EAAE,aAAa,EAAE,aAAa,KAAK;AAAA,IAC9E;AAEA,aAAS,OAAQ,SAAS,aAAa;AACrC,UAAI,gBAAgB,QAAW;AAC7B,sBAAc,QAAQ,OAAO,CAAC,KAAK,WAAW,MAAM,OAAO,YAAY,CAAC;AAAA,MAC1E;AAEA,YAAM,SAAS,IAAI,WAAW,WAAW;AAEzC,UAAI,SAAS;AACb,iBAAW,UAAU,SAAS;AAC5B,YAAI,SAAS,OAAO,aAAa,OAAO,YAAY;AAClD,gBAAM,MAAM,OAAO,SAAS,GAAG,OAAO,aAAa,MAAM;AACzD,iBAAO,IAAI,KAAK,MAAM;AACtB,iBAAO;AAAA,QACT;AACA,eAAO,IAAI,QAAQ,MAAM;AACzB,kBAAU,OAAO;AAAA,MACnB;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,KAAM,QAAQ,QAAQ,cAAc,GAAG,QAAQ,GAAG,MAAM,OAAO,YAAY;AAClF,UAAI,MAAM,KAAK,MAAM,MAAO,QAAO;AACnC,UAAI,QAAQ,MAAO,QAAO;AAC1B,UAAI,OAAO,eAAe,KAAK,OAAO,eAAe,EAAG,QAAO;AAE/D,UAAI,cAAc,EAAG,OAAM,IAAI,WAAW,6BAA6B;AACvE,UAAI,QAAQ,KAAK,SAAS,OAAO,WAAY,OAAM,IAAI,WAAW,6BAA6B;AAC/F,UAAI,MAAM,EAAG,OAAM,IAAI,WAAW,2BAA2B;AAE7D,UAAI,eAAe,OAAO,WAAY,eAAc,OAAO;AAC3D,UAAI,MAAM,OAAO,WAAY,OAAM,OAAO;AAC1C,UAAI,OAAO,aAAa,cAAc,MAAM,OAAO;AACjD,cAAM,OAAO,SAAS,cAAc;AAAA,MACtC;AAEA,YAAM,MAAM,MAAM;AAElB,UAAI,WAAW,QAAQ;AACrB,eAAO,WAAW,aAAa,OAAO,GAAG;AAAA,MAC3C,OAAO;AACL,eAAO,IAAI,OAAO,SAAS,OAAO,GAAG,GAAG,WAAW;AAAA,MACrD;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,OAAQ,GAAG,GAAG;AACrB,UAAI,MAAM,EAAG,QAAO;AACpB,UAAI,EAAE,eAAe,EAAE,WAAY,QAAO;AAE1C,YAAM,MAAM,EAAE;AAEd,UAAI,IAAI,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU;AACrD,UAAI,IAAI,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU;AAErD,UAAI,IAAI;AAER,eAAS,IAAI,MAAO,MAAM,GAAI,IAAI,GAAG,KAAK,GAAG;AAC3C,YAAI,EAAE,UAAU,GAAG,EAAE,MAAM,EAAE,UAAU,GAAG,EAAE,EAAG,QAAO;AAAA,MACxD;AAEA,aAAO,IAAI,KAAK,KAAK;AACnB,YAAI,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,EAAG,QAAO;AAAA,MAC9C;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,KAAM,QAAQ,OAAO,QAAQ,KAAK,UAAU;AACnD,UAAI,OAAO,UAAU,UAAU;AAE7B,YAAI,OAAO,WAAW,UAAU;AAC9B,qBAAW;AACX,mBAAS;AACT,gBAAM,OAAO;AAAA,QAGf,WAAW,OAAO,QAAQ,UAAU;AAClC,qBAAW;AACX,gBAAM,OAAO;AAAA,QACf;AAAA,MACF,WAAW,OAAO,UAAU,UAAU;AACpC,gBAAQ,QAAQ;AAAA,MAClB,WAAW,OAAO,UAAU,WAAW;AACrC,gBAAQ,CAAC;AAAA,MACX;AAEA,UAAI,SAAS,KAAK,OAAO,aAAa,UAAU,OAAO,aAAa,KAAK;AACvE,cAAM,IAAI,WAAW,oBAAoB;AAAA,MAC3C;AAEA,UAAI,WAAW,OAAW,UAAS;AACnC,UAAI,QAAQ,OAAW,OAAM,OAAO;AAEpC,UAAI,OAAO,OAAQ,QAAO;AAE1B,UAAI,CAAC,MAAO,SAAQ;AAEpB,UAAI,OAAO,UAAU,UAAU;AAC7B,iBAAS,IAAI,QAAQ,IAAI,KAAK,EAAE,GAAG;AACjC,iBAAO,CAAC,IAAI;AAAA,QACd;AAAA,MACF,OAAO;AACL,gBAAQ,SAAS,KAAK,IAAI,QAAQ,KAAK,OAAO,QAAQ;AAEtD,cAAM,MAAM,MAAM;AAElB,iBAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,EAAE,GAAG;AACrC,iBAAO,IAAI,MAAM,IAAI,MAAM,IAAI,GAAG;AAAA,QACpC;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,KAAM,OAAO,kBAAkB,QAAQ;AAE9C,UAAI,OAAO,UAAU,SAAU,QAAO,WAAW,OAAO,gBAAgB;AAGxE,UAAI,MAAM,QAAQ,KAAK,EAAG,QAAO,UAAU,KAAK;AAGhD,UAAI,YAAY,OAAO,KAAK,EAAG,QAAO,WAAW,KAAK;AAGtD,aAAO,gBAAgB,OAAO,kBAAkB,MAAM;AAAA,IACxD;AAEA,aAAS,WAAY,QAAQ,UAAU;AACrC,YAAM,QAAQ,SAAS,QAAQ;AAC/B,YAAM,SAAS,IAAI,WAAW,MAAM,WAAW,MAAM,CAAC;AACtD,YAAM,MAAM,QAAQ,QAAQ,GAAG,OAAO,UAAU;AAChD,aAAO;AAAA,IACT;AAEA,aAAS,UAAW,OAAO;AACzB,YAAM,SAAS,IAAI,WAAW,MAAM,MAAM;AAC1C,aAAO,IAAI,KAAK;AAChB,aAAO;AAAA,IACT;AAEA,aAAS,WAAY,QAAQ;AAC3B,YAAMC,QAAO,IAAI,WAAW,OAAO,UAAU;AAC7C,MAAAA,MAAK,IAAI,MAAM;AACf,aAAOA;AAAA,IACT;AAEA,aAAS,gBAAiB,aAAa,YAAY,QAAQ;AACzD,aAAO,IAAI,WAAW,aAAa,YAAY,MAAM;AAAA,IACvD;AAEA,aAAS,SAAU,QAAQ,OAAO,YAAY,UAAU;AACtD,aAAO,QAAQ,QAAQ,OAAO,YAAY,QAAQ,MAAM;AAAA,IAC1D;AAEA,aAAS,qBAAsB,QAAQ,OAAO,YAAY,UAAU,OAAO;AACzE,UAAI,OAAO,eAAe,EAAG,QAAO;AAEpC,UAAI,OAAO,eAAe,UAAU;AAClC,mBAAW;AACX,qBAAa;AAAA,MACf,WAAW,eAAe,QAAW;AACnC,qBAAa,QAAQ,IAAK,OAAO,SAAS;AAAA,MAC5C,WAAW,aAAa,GAAG;AACzB,sBAAc,OAAO;AAAA,MACvB;AAEA,UAAI,cAAc,OAAO,YAAY;AACnC,YAAI,MAAO,QAAO;AAAA,YACb,cAAa,OAAO,aAAa;AAAA,MACxC,WAAW,aAAa,GAAG;AACzB,YAAI,MAAO,cAAa;AAAA,YACnB,QAAO;AAAA,MACd;AAEA,UAAI,OAAO,UAAU,UAAU;AAC7B,gBAAQ,KAAK,OAAO,QAAQ;AAAA,MAC9B,WAAW,OAAO,UAAU,UAAU;AACpC,gBAAQ,QAAQ;AAEhB,YAAI,OAAO;AACT,iBAAO,OAAO,QAAQ,OAAO,UAAU;AAAA,QACzC,OAAO;AACL,iBAAO,OAAO,YAAY,OAAO,UAAU;AAAA,QAC7C;AAAA,MACF;AAEA,UAAI,MAAM,eAAe,EAAG,QAAO;AAEnC,UAAI,OAAO;AACT,YAAI,aAAa;AAEjB,iBAAS,IAAI,YAAY,IAAI,OAAO,YAAY,KAAK;AACnD,cAAI,OAAO,CAAC,MAAM,MAAM,eAAe,KAAK,IAAI,IAAI,UAAU,GAAG;AAC/D,gBAAI,eAAe,GAAI,cAAa;AACpC,gBAAI,IAAI,aAAa,MAAM,MAAM,WAAY,QAAO;AAAA,UACtD,OAAO;AACL,gBAAI,eAAe,GAAI,MAAK,IAAI;AAChC,yBAAa;AAAA,UACf;AAAA,QACF;AAAA,MACF,OAAO;AACL,YAAI,aAAa,MAAM,aAAa,OAAO,YAAY;AACrD,uBAAa,OAAO,aAAa,MAAM;AAAA,QACzC;AAEA,iBAAS,IAAI,YAAY,KAAK,GAAG,KAAK;AACpC,cAAI,QAAQ;AAEZ,mBAAS,IAAI,GAAG,IAAI,MAAM,YAAY,KAAK;AACzC,gBAAI,OAAO,IAAI,CAAC,MAAM,MAAM,CAAC,GAAG;AAC9B,sBAAQ;AACR;AAAA,YACF;AAAA,UACF;AAEA,cAAI,MAAO,QAAO;AAAA,QACpB;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,QAAS,QAAQ,OAAO,YAAY,UAAU;AACrD,aAAO;AAAA,QAAqB;AAAA,QAAQ;AAAA,QAAO;AAAA,QAAY;AAAA,QAAU;AAAA;AAAA,MAAgB;AAAA,IACnF;AAEA,aAAS,YAAa,QAAQ,OAAO,YAAY,UAAU;AACzD,aAAO;AAAA,QAAqB;AAAA,QAAQ;AAAA,QAAO;AAAA,QAAY;AAAA,QAAU;AAAA;AAAA,MAAgB;AAAA,IACnF;AAEA,aAAS,KAAM,QAAQ,GAAG,GAAG;AAC3B,YAAM,IAAI,OAAO,CAAC;AAClB,aAAO,CAAC,IAAI,OAAO,CAAC;AACpB,aAAO,CAAC,IAAI;AAAA,IACd;AAEA,aAAS,OAAQ,QAAQ;AACvB,YAAM,MAAM,OAAO;AAEnB,UAAI,MAAM,MAAM,EAAG,OAAM,IAAI,WAAW,2CAA2C;AAEnF,eAAS,IAAI,GAAG,IAAI,KAAK,KAAK,EAAG,MAAK,QAAQ,GAAG,IAAI,CAAC;AAEtD,aAAO;AAAA,IACT;AAEA,aAAS,OAAQ,QAAQ;AACvB,YAAM,MAAM,OAAO;AAEnB,UAAI,MAAM,MAAM,EAAG,OAAM,IAAI,WAAW,2CAA2C;AAEnF,eAAS,IAAI,GAAG,IAAI,KAAK,KAAK,GAAG;AAC/B,aAAK,QAAQ,GAAG,IAAI,CAAC;AACrB,aAAK,QAAQ,IAAI,GAAG,IAAI,CAAC;AAAA,MAC3B;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,OAAQ,QAAQ;AACvB,YAAM,MAAM,OAAO;AAEnB,UAAI,MAAM,MAAM,EAAG,OAAM,IAAI,WAAW,2CAA2C;AAEnF,eAAS,IAAI,GAAG,IAAI,KAAK,KAAK,GAAG;AAC/B,aAAK,QAAQ,GAAG,IAAI,CAAC;AACrB,aAAK,QAAQ,IAAI,GAAG,IAAI,CAAC;AACzB,aAAK,QAAQ,IAAI,GAAG,IAAI,CAAC;AACzB,aAAK,QAAQ,IAAI,GAAG,IAAI,CAAC;AAAA,MAC3B;AAEA,aAAO;AAAA,IACT;AAEA,aAAS,SAAU,QAAQ;AACzB,aAAO;AAAA,IACT;AAEA,aAAS,SAAU,QAAQ,UAAU,QAAQ,GAAG,MAAM,OAAO,YAAY;AACvE,YAAM,MAAM,OAAO;AAEnB,UAAI,SAAS,IAAK,QAAO;AACzB,UAAI,OAAO,MAAO,QAAO;AACzB,UAAI,QAAQ,EAAG,SAAQ;AACvB,UAAI,MAAM,IAAK,OAAM;AAErB,UAAI,UAAU,KAAK,MAAM,IAAK,UAAS,OAAO,SAAS,OAAO,GAAG;AAEjE,aAAO,SAAS,QAAQ,EAAE,SAAS,MAAM;AAAA,IAC3C;AAEA,aAAS,MAAO,QAAQ,QAAQ,QAAQ,QAAQ,UAAU;AAExD,UAAI,WAAW,QAAW;AACxB,mBAAW;AAAA,MAGb,WAAW,WAAW,UAAa,OAAO,WAAW,UAAU;AAC7D,mBAAW;AACX,iBAAS;AAAA,MAGX,WAAW,aAAa,UAAa,OAAO,WAAW,UAAU;AAC/D,mBAAW;AACX,iBAAS;AAAA,MACX;AAEA,aAAO,SAAS,QAAQ,EAAE,MAAM,QAAQ,QAAQ,QAAQ,MAAM;AAAA,IAChE;AAEA,aAAS,cAAe,QAAQ,OAAO,QAAQ;AAC7C,UAAI,WAAW,OAAW,UAAS;AAEnC,YAAM,OAAO,IAAI,SAAS,OAAO,QAAQ,OAAO,YAAY,OAAO,UAAU;AAC7E,WAAK,WAAW,QAAQ,OAAO,IAAI;AAEnC,aAAO,SAAS;AAAA,IAClB;AAEA,aAAS,aAAc,QAAQ,OAAO,QAAQ;AAC5C,UAAI,WAAW,OAAW,UAAS;AAEnC,YAAM,OAAO,IAAI,SAAS,OAAO,QAAQ,OAAO,YAAY,OAAO,UAAU;AAC7E,WAAK,WAAW,QAAQ,OAAO,IAAI;AAEnC,aAAO,SAAS;AAAA,IAClB;AAEA,aAAS,cAAe,QAAQ,OAAO,QAAQ;AAC7C,UAAI,WAAW,OAAW,UAAS;AAEnC,YAAM,OAAO,IAAI,SAAS,OAAO,QAAQ,OAAO,YAAY,OAAO,UAAU;AAC7E,WAAK,UAAU,QAAQ,OAAO,IAAI;AAElC,aAAO,SAAS;AAAA,IAClB;AAEA,aAAS,aAAc,QAAQ,OAAO,QAAQ;AAC5C,UAAI,WAAW,OAAW,UAAS;AAEnC,YAAM,OAAO,IAAI,SAAS,OAAO,QAAQ,OAAO,YAAY,OAAO,UAAU;AAC7E,WAAK,SAAS,QAAQ,OAAO,IAAI;AAEjC,aAAO,SAAS;AAAA,IAClB;AAEA,aAAS,aAAc,QAAQ,QAAQ;AACrC,UAAI,WAAW,OAAW,UAAS;AAEnC,YAAM,OAAO,IAAI,SAAS,OAAO,QAAQ,OAAO,YAAY,OAAO,UAAU;AAE7E,aAAO,KAAK,WAAW,QAAQ,IAAI;AAAA,IACrC;AAEA,aAAS,YAAa,QAAQ,QAAQ;AACpC,UAAI,WAAW,OAAW,UAAS;AAEnC,YAAM,OAAO,IAAI,SAAS,OAAO,QAAQ,OAAO,YAAY,OAAO,UAAU;AAE7E,aAAO,KAAK,WAAW,QAAQ,IAAI;AAAA,IACrC;AAEA,aAAS,aAAc,QAAQ,QAAQ;AACrC,UAAI,WAAW,OAAW,UAAS;AAEnC,YAAM,OAAO,IAAI,SAAS,OAAO,QAAQ,OAAO,YAAY,OAAO,UAAU;AAE7E,aAAO,KAAK,UAAU,QAAQ,IAAI;AAAA,IACpC;AAEA,aAAS,YAAa,QAAQ,QAAQ;AACpC,UAAI,WAAW,OAAW,UAAS;AAEnC,YAAM,OAAO,IAAI,SAAS,OAAO,QAAQ,OAAO,YAAY,OAAO,UAAU;AAE7E,aAAO,KAAK,SAAS,QAAQ,IAAI;AAAA,IACnC;AAEA,WAAO,UAAU,UAAU;AAAA,MACzB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA;AAAA;;;AClfA;AAAA;AAAA,QAAM,SAAS;AACf,QAAM,MAAM;AAEZ,WAAO,UAAU;AAEjB,QAAM,YAAY;AAElB,QAAI,IAAI;AAAA,MACN;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MACpC;AAAA,MAAY;AA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O,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,UAAI,EAAE,CAAC;AACP,YAAM,IAAI;AACV,YAAM,IAAI;AACV,YAAM,IAAI;AACV,YAAM,IAAI;AACV,YAAM,IAAI;AACV,YAAM,IAAI;AACV,YAAM,IAAI;AACV,YAAM,IAAI;AACV,YAAM,IAAI;AACV,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,UAAI,EAAE,CAAC;AACP,YAAM,IAAI;AACV,YAAM,IAAI;AACV,YAAM,IAAI;AACV,YAAM,IAAI;AACV,YAAM,IAAI;AACV,YAAM,IAAI;AACV,YAAM,IAAI;AACV,YAAM,IAAI;AACV,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,UAAI,EAAE,CAAC;AACP,YAAM,IAAI;AACV,YAAM,IAAI;AACV,YAAM,IAAI;AACV,YAAM,IAAI;AACV,YAAM,IAAI;AACV,YAAM,IAAI;AACV,YAAM,IAAI;AACV,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,UAAI,EAAE,CAAC;AACP,YAAM,IAAI;AACV,YAAM,IAAI;AACV,YAAM,IAAI;AACV,YAAM,IAAI;AACV,YAAM,IAAI;AACV,YAAM,IAAI;AACV,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,UAAI,EAAE,CAAC;AACP,YAAM,IAAI;AACV,YAAM,IAAI;AACV,YAAM,IAAI;AACV,YAAM,IAAI;AACV,YAAM,IAAI;AACV,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,UAAI,EAAE,CAAC;AACP,YAAM,IAAI;AACV,YAAM,IAAI;AACV,YAAM,IAAI;AACV,YAAM,IAAI;AACV,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,UAAI,EAAE,CAAC;AACP,YAAM,IAAI;AACV,YAAM,IAAI;AACV,YAAM,IAAI;AACV,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,UAAI,EAAE,CAAC;AACP,YAAM,IAAI;AACV,YAAM,IAAI;AACV,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,UAAI,EAAE,CAAC;AACP,YAAM,IAAI;AACV,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,UAAI,EAAE,EAAE;AACR,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,UAAI,EAAE,EAAE;AACR,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,UAAI,EAAE,EAAE;AACR,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,UAAI,EAAE,EAAE;AACR,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,UAAI,EAAE,EAAE;AACR,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAAI;AACX,aAAO,IAA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AS;AAAA,MACX;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAClD;AAAA,MAAI;AAAA,MAAI;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAI;AAAA,MAAI;AAAA,MAAG;AAAA,MAAG;AAAA,MAAI;AAAA,MAAG;AAAA,MAAG;AAAA,MAAI;AAAA,MAAG;AAAA,MAAG;AAAA,MACnD;AAAA,MAAI;AAAA,MAAG;AAAA,MAAI;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MACnD;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAI;AAAA,MAAG;AAAA,MAAG;AAAA,MAAI;AAAA,MACnD;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAG;AAAA,MAAI;AAAA,MAAI;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAClD;AAAA,MAAG;AAAA,MAAI;AAAA,MAAG;AAAA,MAAI;AAAA,MAAG;AAAA,MAAI;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAI;AAAA,MAAG;AAAA,MAAG;AAAA,MAAI;AAAA,MAAI;AAAA,MAAG;AAAA,MACnD;AAAA,MAAI;AAAA,MAAG;AAAA,MAAG;AAAA,MAAI;AAAA,MAAI;AAAA,MAAI;AAAA,MAAG;AAAA,MAAI;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAAG;AAAA,MAClD;AAAA,MAAI;AAAA,MAAI;AAAA,MAAG;AAAA,MAAI;AAAA,MAAI;AAAA,MAAG;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",
6
+ "names": ["code", "toString", "write", "fill", "copy", "require_sha512", "__commonJS", "__require", "__commonJS", "__require", "require_blake2b", "require_blake2b", "v", "__commonJS", "__require", "require_xsalsa20", "require_xsalsa20", "require_sha256", "__commonJS", "__require", "__commonJS", "__require", "require_siphash24", "require_siphash24"]
7
+ }