@loaders.gl/crypto 3.4.14 → 3.4.15
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.
- package/dist/es5/bundle.js +1 -1
- package/dist/es5/bundle.js.map +1 -1
- package/dist/es5/index.js +11 -11
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/algorithms/crc32.js +15 -24
- package/dist/es5/lib/algorithms/crc32.js.map +1 -1
- package/dist/es5/lib/algorithms/crc32c.js +16 -25
- package/dist/es5/lib/algorithms/crc32c.js.map +1 -1
- package/dist/es5/lib/algorithms/md5-wasm.js +11 -13
- package/dist/es5/lib/algorithms/md5-wasm.js.map +1 -1
- package/dist/es5/lib/crc32-hash.js +37 -136
- package/dist/es5/lib/crc32-hash.js.map +1 -1
- package/dist/es5/lib/crc32c-hash.js +36 -135
- package/dist/es5/lib/crc32c-hash.js.map +1 -1
- package/dist/es5/lib/crypto-hash.js +48 -172
- package/dist/es5/lib/crypto-hash.js.map +1 -1
- package/dist/es5/lib/hash.js +22 -133
- package/dist/es5/lib/hash.js.map +1 -1
- package/dist/es5/lib/md5-hash.js +14 -53
- package/dist/es5/lib/md5-hash.js.map +1 -1
- package/dist/es5/lib/node-hash.js +32 -133
- package/dist/es5/lib/node-hash.js.map +1 -1
- package/dist/es5/lib/sha256-hash.js +9 -22
- package/dist/es5/lib/sha256-hash.js.map +1 -1
- package/dist/es5/lib/utils/base64-utils.js +13 -13
- package/dist/es5/lib/utils/base64-utils.js.map +1 -1
- package/dist/es5/lib/utils/digest-utils.js +3 -5
- package/dist/es5/lib/utils/digest-utils.js.map +1 -1
- package/dist/es5/workers/worker.js +18 -45
- package/dist/es5/workers/worker.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"md5-wasm.js","names":["atb","atob","Buffer","nodeATOB","identity","wasmB64","wasm","WebAssembly","str2AB","buffer","crypt","makeCrypt","biteSize","bounder","Math","floor","upperLimit","parmTypeErrStr","tooBigErrStr","console","log","md5WASM","data","mem","memView","importObj","imports","len","buff","thenFun","catchFun","result","endTime","md5JS","makeMD5JS","md5WA","makeMD5WA","returnObj","startTime","Date","getTime","fun","getThen","_typeof2","default","constructor","Uint8Array","ArrayBuffer","getCatch","TypeError","length","Error","Memory","initial","Uint32Array","instantiate","then","giterdone","obj","instance","exports","r","res","Boolean","err","loop","loops","getA","setA","getB","setB","getC","setC","getD","setD","getX","setX","message","m00","m01","m02","m03","m04","m05","m06","m07","m08","m09","m10","m11","m12","m13","m14","m15","aa","bb","cc","dd","m","k","qwerty","md5Used","a","b","c","d","i","l","bytesToWordsNewer","____","endian","s","t","n","bytes","words","j","b0","b1","b2","b3","mView","options","digestbytes","wordsToBytes","asBytes","bytesToHex","bytesToWords","str","buffView","charCodeAt","from","toString","x","base64map","rotl","Number","push","hex","join"],"sources":["../../../../src/lib/algorithms/md5-wasm.ts"],"sourcesContent":["/* eslint-disable */\n// @ts-nocheck\n/* !\n * MD5 WebAssembly\n * https://github.com/briantbutton/md5-wasm\n * (c) 2020 Brian Todd Button\n * Released under the MIT license\n */\n\n// *-*=* *=*-* *-*=* *=*-* *-*=* *=*-* *-*=* *=*-* *-*=* *=*-* *-*=* *=*-*\n// This contains two functions designed to achieve the same thing\n// -> A WebAssembly function for larger files\n// -> A JavaScript function for the others\n//\nconst atb = typeof atob === 'function' ? atob : typeof Buffer === 'function' ? nodeATOB : identity,\n wasmB64 = atb(\n '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'\n ),\n wasm = WebAssembly && atb !== identity ? str2AB(wasmB64).buffer : false,\n crypt = makeCrypt(),\n biteSize = 240 * 16 * 16,\n bounder = Math.floor(biteSize * 16 * 1.066666667),\n upperLimit = 268435456 - 65536,\n parmTypeErrStr = 'Parameter must be Buffer, ArrayBuffer or Uint8Array',\n tooBigErrStr = 'Parameter exceeds max size of 255.9 Mbytes';\n\nif (!wasm) {\n console.log(\n 'WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript'\n );\n}\n\n// - - - - - - - - - - - - - - - - - - - - - - - - - - -\n// This returns a Promise-like object (I was farting around, so sue me)\n// which supports '.catch' and '.then'\nexport default function md5WASM(data) {\n var mem, memView, importObj, imports, len, buff, thenFun, catchFun, result, endTime;\n const md5JS = makeMD5JS(),\n md5WA = makeMD5WA(),\n returnObj = {},\n startTime = new Date().getTime();\n\n returnObj['then'] = function (fun) {\n thenFun = fun;\n getThen();\n return returnObj;\n };\n returnObj['catch'] = function (fun) {\n catchFun = fun;\n return returnObj;\n };\n\n // Sift the incoming parameter and the environment\n // If we are good, set buff\n if (true) {\n if (data && typeof data === 'object') {\n if (typeof Buffer === 'function' && data.constructor === Buffer) {\n buff = data;\n } else {\n if (data.constructor === Uint8Array || data.constructor === ArrayBuffer) {\n buff = data.constructor === ArrayBuffer ? new Uint8Array(data) : data;\n } else {\n getCatch(new TypeError(parmTypeErrStr));\n }\n }\n } else {\n getCatch(new TypeError(parmTypeErrStr));\n }\n }\n\n // - - - - - - - - - - - - - - - - - - - - - - - - - -\n // Make some choices based on the size of the incoming data\n // ~ Use WebAssembly or just JavaScript\n // ~ If Webassemly, allocate appropriate memory\n //\n if (buff) {\n len = buff.length;\n if (wasm && len > bounder) {\n if (len > upperLimit) {\n getCatch(new Error(tooBigErrStr));\n } else {\n mem = new WebAssembly.Memory({\n initial: len > 32000000 ? (len > 64000000 ? (len > 128000000 ? 4096 : 2048) : 1024) : 512\n });\n memView = new Uint32Array(mem.buffer);\n imports = {mem: mem, log: console.log};\n importObj = {imports};\n WebAssembly.instantiate(wasm, importObj).then(giterdone);\n }\n } else {\n getThen(md5JS(buff));\n }\n }\n return returnObj;\n\n function giterdone(obj) {\n getThen(md5WA(buff, obj.instance.exports, memView));\n }\n function getThen(r) {\n var res = Boolean(r) ? r : result;\n if (Boolean(r)) {\n endTime = new Date().getTime();\n }\n if (typeof thenFun === 'function') {\n if (Boolean(res)) {\n thenFun(res, endTime - startTime);\n thenFun = catchFun = null;\n }\n } else {\n if (Boolean(r)) {\n result = r;\n }\n }\n }\n function getCatch(err) {\n if (typeof catchFun === 'function') {\n catchFun(err);\n }\n }\n}\n\nfunction makeMD5WA() {\n var loop, loops;\n var getA, setA, getB, setB, getC, setC, getD, setD, getX, setX, memView;\n\n var md5WA = function (message) {\n var m00,\n m01,\n m02,\n m03,\n m04,\n m05,\n m06,\n m07,\n m08,\n m09,\n m10,\n m11,\n m12,\n m13,\n m14,\n m15,\n aa,\n bb,\n cc,\n dd,\n m,\n k;\n var qwerty = new Date().getTime();\n var md5Used = 0;\n\n var a = 1732584193,\n b = -271733879,\n c = -1732584194,\n d = 271733878,\n i = 0,\n l = message.length * 8,\n len;\n\n len = bytesToWordsNewer(message, memView);\n memView[l >>> 5] |= 0x80 << l % 32;\n memView[(((l + 64) >>> 9) << 4) + 14] = l;\n len = (((l + 64) >>> 9) << 4) + 15;\n m = memView;\n\n // console.log(\"first loop took \"+((new Date().getTime())-qwerty)+\"ms\");\n\n while (i < len) {\n if (len > i + bounder) {\n setA(a);\n setB(b);\n setC(c);\n setD(d);\n loops(biteSize);\n i = i + biteSize * 16;\n a = getA();\n b = getB();\n c = getC();\n d = getD();\n md5Used++;\n } else {\n aa = a;\n bb = b;\n cc = c;\n dd = d;\n m00 = m[i + 0] >>> 0;\n m01 = m[i + 1] >>> 0;\n m02 = m[i + 2] >>> 0;\n m03 = m[i + 3] >>> 0;\n m04 = m[i + 4] >>> 0;\n m05 = m[i + 5] >>> 0;\n m06 = m[i + 6] >>> 0;\n m07 = m[i + 7] >>> 0;\n m08 = m[i + 8] >>> 0;\n m09 = m[i + 9] >>> 0;\n m10 = m[i + 10] >>> 0;\n m11 = m[i + 11] >>> 0;\n m12 = m[i + 12] >>> 0;\n m13 = m[i + 13] >>> 0;\n m14 = m[i + 14] >>> 0;\n m15 = m[i + 15] >>> 0;\n\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m00 - 680876936) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m01 - 389564586) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m02 + 606105819) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m03 - 1044525330) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m04 - 176418897) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m05 + 1200080426) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m06 - 1473231341) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m07 - 45705983) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m08 + 1770035416) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m09 - 1958414417) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m10 - 42063) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m11 - 1990404162) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m12 + 1804603682) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m13 - 40341101) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m14 - 1502002290) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m15 + 1236535329) + c;\n\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m01 - 165796510) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m06 - 1069501632) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m11 + 643717713) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m00 - 373897302) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m05 - 701558691) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m10 + 38016083) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m15 - 660478335) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m04 - 405537848) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m09 + 568446438) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m14 - 1019803690) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m03 - 187363961) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m08 + 1163531501) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m13 - 1444681467) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m02 - 51403784) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m07 + 1735328473) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m12 - 1926607734) + c;\n\n a = ____(4, 28, a + (b ^ c ^ d) + m05 - 378558) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m08 - 2022574463) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m11 + 1839030562) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m14 - 35309556) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m01 - 1530992060) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m04 + 1272893353) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m07 - 155497632) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m10 - 1094730640) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m13 + 681279174) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m00 - 358537222) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m03 - 722521979) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m06 + 76029189) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m09 - 640364487) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m12 - 421815835) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m15 + 530742520) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m02 - 995338651) + c;\n\n a = ____(6, 26, a + (c ^ (b | ~d)) + m00 - 198630844) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m07 + 1126891415) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m14 - 1416354905) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m05 - 57434055) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m12 + 1700485571) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m03 - 1894986606) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m10 - 1051523) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m01 - 2054922799) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m08 + 1873313359) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m15 - 30611744) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m06 - 1560198380) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m13 + 1309151649) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m04 - 145523070) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m11 - 1120210379) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m02 + 718787259) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m09 - 343485551) + c;\n\n i = i + 16;\n a = (a + aa) >>> 0;\n b = (b + bb) >>> 0;\n c = (c + cc) >>> 0;\n d = (d + dd) >>> 0;\n }\n }\n\n // console.log(\"md5WA, elapsed=\"+((new Date().getTime())-qwerty)+(md5Used?\", WebAssembly called \"+md5Used+\" times\":\", WebAssembly not called\"));\n\n return crypt.endian([a, b, c, d]);\n\n function ____(s, t, n) {\n return (n << s) | (n >>> t);\n }\n\n // Convert a byte array to big-endian 32-bit words\n function bytesToWordsNewer(bytes, words) {\n var i = -1,\n l = Math.floor((bytes.length - 1) / 4),\n j = 0,\n b0,\n b1,\n b2,\n b3;\n while (l - 8 > i++) {\n j = i << 2;\n words[i] = bytes[j + 0] | (bytes[j + 1] << 8) | (bytes[j + 2] << 16) | (bytes[j + 3] << 24);\n }\n i--;\n while (l > i++) {\n j = i << 2;\n b0 = typeof bytes[j + 0] === 'undefined' ? 0 : bytes[j + 0];\n b1 = typeof bytes[j + 1] === 'undefined' ? 0 : bytes[j + 1];\n b2 = typeof bytes[j + 2] === 'undefined' ? 0 : bytes[j + 2];\n b3 = typeof bytes[j + 3] === 'undefined' ? 0 : bytes[j + 3];\n words[i] = b0 | (b1 << 8) | (b2 << 16) | (b3 << 24);\n }\n return l + 1;\n }\n };\n\n return function (message, exports, mView, options) {\n var digestbytes;\n loops = exports.loops;\n loop = exports.loop;\n getA = exports.getA;\n getB = exports.getB;\n getC = exports.getC;\n getD = exports.getD;\n getX = exports.getX;\n setA = exports.setA;\n setB = exports.setB;\n setC = exports.setC;\n setD = exports.setD;\n setX = exports.setX;\n memView = mView;\n digestbytes = crypt.wordsToBytes(md5WA(message));\n return options && options.asBytes ? digestbytes : crypt.bytesToHex(digestbytes);\n };\n}\n\nfunction makeMD5JS() {\n var md5JS = function (message, options) {\n var m00,\n m01,\n m02,\n m03,\n m04,\n m05,\n m06,\n m07,\n m08,\n m09,\n m10,\n m11,\n m12,\n m13,\n m14,\n m15,\n aa,\n bb,\n cc,\n dd,\n m;\n var qwerty = new Date().getTime();\n\n // console.log(\"md5 start\");\n\n var a = 1732584193,\n b = -271733879,\n c = -1732584194,\n d = 271733878,\n l = message.length * 8;\n\n m = crypt.bytesToWords(message);\n\n // Swap endian\n for (var j = 0; j < m.length; j++) {\n m[j] =\n (((m[j] << 8) | (m[j] >>> 24)) & 0x00ff00ff) | (((m[j] << 24) | (m[j] >>> 8)) & 0xff00ff00);\n }\n\n // Padding\n m[l >>> 5] |= 0x80 << l % 32;\n m[(((l + 64) >>> 9) << 4) + 14] = l;\n\n for (var i = 0; i < m.length; i += 16) {\n aa = a;\n bb = b;\n cc = c;\n dd = d;\n m00 = m[i + 0] >>> 0;\n m01 = m[i + 1] >>> 0;\n m02 = m[i + 2] >>> 0;\n m03 = m[i + 3] >>> 0;\n m04 = m[i + 4] >>> 0;\n m05 = m[i + 5] >>> 0;\n m06 = m[i + 6] >>> 0;\n m07 = m[i + 7] >>> 0;\n m08 = m[i + 8] >>> 0;\n m09 = m[i + 9] >>> 0;\n m10 = m[i + 10] >>> 0;\n m11 = m[i + 11] >>> 0;\n m12 = m[i + 12] >>> 0;\n m13 = m[i + 13] >>> 0;\n m14 = m[i + 14] >>> 0;\n m15 = m[i + 15] >>> 0;\n\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m00 - 680876936) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m01 - 389564586) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m02 + 606105819) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m03 - 1044525330) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m04 - 176418897) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m05 + 1200080426) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m06 - 1473231341) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m07 - 45705983) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m08 + 1770035416) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m09 - 1958414417) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m10 - 42063) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m11 - 1990404162) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m12 + 1804603682) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m13 - 40341101) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m14 - 1502002290) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m15 + 1236535329) + c;\n\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m01 - 165796510) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m06 - 1069501632) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m11 + 643717713) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m00 - 373897302) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m05 - 701558691) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m10 + 38016083) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m15 - 660478335) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m04 - 405537848) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m09 + 568446438) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m14 - 1019803690) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m03 - 187363961) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m08 + 1163531501) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m13 - 1444681467) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m02 - 51403784) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m07 + 1735328473) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m12 - 1926607734) + c;\n\n a = ____(4, 28, a + (b ^ c ^ d) + m05 - 378558) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m08 - 2022574463) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m11 + 1839030562) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m14 - 35309556) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m01 - 1530992060) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m04 + 1272893353) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m07 - 155497632) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m10 - 1094730640) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m13 + 681279174) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m00 - 358537222) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m03 - 722521979) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m06 + 76029189) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m09 - 640364487) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m12 - 421815835) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m15 + 530742520) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m02 - 995338651) + c;\n\n a = ____(6, 26, a + (c ^ (b | ~d)) + m00 - 198630844) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m07 + 1126891415) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m14 - 1416354905) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m05 - 57434055) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m12 + 1700485571) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m03 - 1894986606) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m10 - 1051523) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m01 - 2054922799) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m08 + 1873313359) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m15 - 30611744) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m06 - 1560198380) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m13 + 1309151649) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m04 - 145523070) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m11 - 1120210379) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m02 + 718787259) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m09 - 343485551) + c;\n\n a = (a + aa) >>> 0;\n b = (b + bb) >>> 0;\n c = (c + cc) >>> 0;\n d = (d + dd) >>> 0;\n }\n\n // console.log(\"md5JS, elapsed=\"+((new Date().getTime())-qwerty));\n\n return crypt.endian([a, b, c, d]);\n\n function ____(s, t, n) {\n return (n << s) | (n >>> t);\n }\n };\n\n return function (message, options) {\n var digestbytes = crypt.wordsToBytes(md5JS(message, options)),\n result = options && options.asBytes ? digestbytes : crypt.bytesToHex(digestbytes);\n return result;\n };\n}\nfunction str2AB(str) {\n var l,\n buff,\n buffView,\n i = -1;\n l = str.length - 1;\n buff = new ArrayBuffer(str.length);\n buffView = new Uint8Array(buff);\n while (l > i++) {\n buffView[i] = str.charCodeAt(i);\n }\n return buffView;\n}\nfunction nodeATOB(str) {\n return Buffer.from(str, 'base64').toString('binary');\n}\nfunction identity(x) {\n return x;\n}\n\nfunction makeCrypt() {\n var base64map = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n return {\n rotl: function (n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n endian: function (n) {\n if (n.constructor == Number) {\n return (crypt.rotl(n, 8) & 0x00ff00ff) | (crypt.rotl(n, 24) & 0xff00ff00);\n }\n for (var i = 0; i < n.length; i++) n[i] = crypt.endian(n[i]);\n return n;\n },\n\n bytesToWords: function (bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - (b % 32));\n return words;\n },\n\n wordsToBytes: function (words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - (b % 32))) & 0xff);\n return bytes;\n },\n\n bytesToHex: function (bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xf).toString(16));\n }\n return hex.join('');\n }\n };\n}\n"],"mappings":";;;;;;;;AAcA,IAAMA,GAAG,GAAG,OAAOC,IAAI,KAAK,UAAU,GAAGA,IAAI,GAAG,OAAOC,MAAM,KAAK,UAAU,GAAGC,QAAQ,GAAGC,QAAQ;EAChGC,OAAO,GAAGL,GAAG,CACX,s1HACF,CAAC;EACDM,IAAI,GAAGC,WAAW,IAAIP,GAAG,KAAKI,QAAQ,GAAGI,MAAM,CAACH,OAAO,CAAC,CAACI,MAAM,GAAG,KAAK;EACvEC,KAAK,GAAGC,SAAS,CAAC,CAAC;EACnBC,QAAQ,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE;EACxBC,OAAO,GAAGC,IAAI,CAACC,KAAK,CAACH,QAAQ,GAAG,EAAE,GAAG,WAAW,CAAC;EACjDI,UAAU,GAAG,SAAS,GAAG,KAAK;EAC9BC,cAAc,GAAG,qDAAqD;EACtEC,YAAY,GAAG,4CAA4C;AAE7D,IAAI,CAACZ,IAAI,EAAE;EACTa,OAAO,CAACC,GAAG,CACT,qGACF,CAAC;AACH;AAKe,SAASC,OAAOA,CAACC,IAAI,EAAE;EACpC,IAAIC,GAAG,EAAEC,OAAO,EAAEC,SAAS,EAAEC,OAAO,EAAEC,GAAG,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,OAAO;EACnF,IAAMC,KAAK,GAAGC,SAAS,CAAC,CAAC;IACvBC,KAAK,GAAGC,SAAS,CAAC,CAAC;IACnBC,SAAS,GAAG,CAAC,CAAC;IACdC,SAAS,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;EAElCH,SAAS,CAAC,MAAM,CAAC,GAAG,UAAUI,GAAG,EAAE;IACjCZ,OAAO,GAAGY,GAAG;IACbC,OAAO,CAAC,CAAC;IACT,OAAOL,SAAS;EAClB,CAAC;EACDA,SAAS,CAAC,OAAO,CAAC,GAAG,UAAUI,GAAG,EAAE;IAClCX,QAAQ,GAAGW,GAAG;IACd,OAAOJ,SAAS;EAClB,CAAC;EAID,IAAI,IAAI,EAAE;IACR,IAAIf,IAAI,IAAI,IAAAqB,QAAA,CAAAC,OAAA,EAAOtB,IAAI,MAAK,QAAQ,EAAE;MACpC,IAAI,OAAOpB,MAAM,KAAK,UAAU,IAAIoB,IAAI,CAACuB,WAAW,KAAK3C,MAAM,EAAE;QAC/D0B,IAAI,GAAGN,IAAI;MACb,CAAC,MAAM;QACL,IAAIA,IAAI,CAACuB,WAAW,KAAKC,UAAU,IAAIxB,IAAI,CAACuB,WAAW,KAAKE,WAAW,EAAE;UACvEnB,IAAI,GAAGN,IAAI,CAACuB,WAAW,KAAKE,WAAW,GAAG,IAAID,UAAU,CAACxB,IAAI,CAAC,GAAGA,IAAI;QACvE,CAAC,MAAM;UACL0B,QAAQ,CAAC,IAAIC,SAAS,CAAChC,cAAc,CAAC,CAAC;QACzC;MACF;IACF,CAAC,MAAM;MACL+B,QAAQ,CAAC,IAAIC,SAAS,CAAChC,cAAc,CAAC,CAAC;IACzC;EACF;EAOA,IAAIW,IAAI,EAAE;IACRD,GAAG,GAAGC,IAAI,CAACsB,MAAM;IACjB,IAAI5C,IAAI,IAAIqB,GAAG,GAAGd,OAAO,EAAE;MACzB,IAAIc,GAAG,GAAGX,UAAU,EAAE;QACpBgC,QAAQ,CAAC,IAAIG,KAAK,CAACjC,YAAY,CAAC,CAAC;MACnC,CAAC,MAAM;QACLK,GAAG,GAAG,IAAIhB,WAAW,CAAC6C,MAAM,CAAC;UAC3BC,OAAO,EAAE1B,GAAG,GAAG,QAAQ,GAAIA,GAAG,GAAG,QAAQ,GAAIA,GAAG,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,GAAI,IAAI,GAAI;QACxF,CAAC,CAAC;QACFH,OAAO,GAAG,IAAI8B,WAAW,CAAC/B,GAAG,CAACd,MAAM,CAAC;QACrCiB,OAAO,GAAG;UAACH,GAAG,EAAEA,GAAG;UAAEH,GAAG,EAAED,OAAO,CAACC;QAAG,CAAC;QACtCK,SAAS,GAAG;UAACC,OAAO,EAAPA;QAAO,CAAC;QACrBnB,WAAW,CAACgD,WAAW,CAACjD,IAAI,EAAEmB,SAAS,CAAC,CAAC+B,IAAI,CAACC,SAAS,CAAC;MAC1D;IACF,CAAC,MAAM;MACLf,OAAO,CAACT,KAAK,CAACL,IAAI,CAAC,CAAC;IACtB;EACF;EACA,OAAOS,SAAS;EAEhB,SAASoB,SAASA,CAACC,GAAG,EAAE;IACtBhB,OAAO,CAACP,KAAK,CAACP,IAAI,EAAE8B,GAAG,CAACC,QAAQ,CAACC,OAAO,EAAEpC,OAAO,CAAC,CAAC;EACrD;EACA,SAASkB,OAAOA,CAACmB,CAAC,EAAE;IAClB,IAAIC,GAAG,GAAGC,OAAO,CAACF,CAAC,CAAC,GAAGA,CAAC,GAAG9B,MAAM;IACjC,IAAIgC,OAAO,CAACF,CAAC,CAAC,EAAE;MACd7B,OAAO,GAAG,IAAIO,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;IAChC;IACA,IAAI,OAAOX,OAAO,KAAK,UAAU,EAAE;MACjC,IAAIkC,OAAO,CAACD,GAAG,CAAC,EAAE;QAChBjC,OAAO,CAACiC,GAAG,EAAE9B,OAAO,GAAGM,SAAS,CAAC;QACjCT,OAAO,GAAGC,QAAQ,GAAG,IAAI;MAC3B;IACF,CAAC,MAAM;MACL,IAAIiC,OAAO,CAACF,CAAC,CAAC,EAAE;QACd9B,MAAM,GAAG8B,CAAC;MACZ;IACF;EACF;EACA,SAASb,QAAQA,CAACgB,GAAG,EAAE;IACrB,IAAI,OAAOlC,QAAQ,KAAK,UAAU,EAAE;MAClCA,QAAQ,CAACkC,GAAG,CAAC;IACf;EACF;AACF;AAEA,SAAS5B,SAASA,CAAA,EAAG;EACnB,IAAI6B,IAAI,EAAEC,KAAK;EACf,IAAIC,IAAI,EAAEC,IAAI,EAAEC,IAAI,EAAEC,IAAI,EAAEC,IAAI,EAAEC,IAAI,EAAEC,IAAI,EAAEC,IAAI,EAAEC,IAAI,EAAEC,IAAI,EAAEpD,OAAO;EAEvE,IAAIW,KAAK,GAAG,SAARA,KAAKA,CAAa0C,OAAO,EAAE;IAC7B,IAAIC,GAAG,EACLC,GAAG,EACHC,GAAG,EACHC,GAAG,EACHC,GAAG,EACHC,GAAG,EACHC,GAAG,EACHC,GAAG,EACHC,GAAG,EACHC,GAAG,EACHC,GAAG,EACHC,GAAG,EACHC,GAAG,EACHC,GAAG,EACHC,GAAG,EACHC,GAAG,EACHC,EAAE,EACFC,EAAE,EACFC,EAAE,EACFC,EAAE,EACFC,CAAC,EACDC,CAAC;IACH,IAAIC,MAAM,GAAG,IAAI7D,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;IACjC,IAAI6D,OAAO,GAAG,CAAC;IAEf,IAAIC,CAAC,GAAG,UAAU;MAChBC,CAAC,GAAG,CAAC,SAAS;MACdC,CAAC,GAAG,CAAC,UAAU;MACfC,CAAC,GAAG,SAAS;MACbC,CAAC,GAAG,CAAC;MACLC,CAAC,GAAG9B,OAAO,CAAC3B,MAAM,GAAG,CAAC;MACtBvB,GAAG;IAELA,GAAG,GAAGiF,iBAAiB,CAAC/B,OAAO,EAAErD,OAAO,CAAC;IACzCA,OAAO,CAACmF,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,IAAIA,CAAC,GAAG,EAAE;IAClCnF,OAAO,CAAC,CAAGmF,CAAC,GAAG,EAAE,KAAM,CAAC,IAAK,CAAC,IAAI,EAAE,CAAC,GAAGA,CAAC;IACzChF,GAAG,GAAG,CAAGgF,CAAC,GAAG,EAAE,KAAM,CAAC,IAAK,CAAC,IAAI,EAAE;IAClCT,CAAC,GAAG1E,OAAO;IAIX,OAAOkF,CAAC,GAAG/E,GAAG,EAAE;MACd,IAAIA,GAAG,GAAG+E,CAAC,GAAG7F,OAAO,EAAE;QACrBuD,IAAI,CAACkC,CAAC,CAAC;QACPhC,IAAI,CAACiC,CAAC,CAAC;QACP/B,IAAI,CAACgC,CAAC,CAAC;QACP9B,IAAI,CAAC+B,CAAC,CAAC;QACPvC,KAAK,CAACtD,QAAQ,CAAC;QACf8F,CAAC,GAAGA,CAAC,GAAG9F,QAAQ,GAAG,EAAE;QACrB0F,CAAC,GAAGnC,IAAI,CAAC,CAAC;QACVoC,CAAC,GAAGlC,IAAI,CAAC,CAAC;QACVmC,CAAC,GAAGjC,IAAI,CAAC,CAAC;QACVkC,CAAC,GAAGhC,IAAI,CAAC,CAAC;QACV4B,OAAO,EAAE;MACX,CAAC,MAAM;QACLP,EAAE,GAAGQ,CAAC;QACNP,EAAE,GAAGQ,CAAC;QACNP,EAAE,GAAGQ,CAAC;QACNP,EAAE,GAAGQ,CAAC;QACN3B,GAAG,GAAGoB,CAAC,CAACQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QACpB3B,GAAG,GAAGmB,CAAC,CAACQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QACpB1B,GAAG,GAAGkB,CAAC,CAACQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QACpBzB,GAAG,GAAGiB,CAAC,CAACQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QACpBxB,GAAG,GAAGgB,CAAC,CAACQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QACpBvB,GAAG,GAAGe,CAAC,CAACQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QACpBtB,GAAG,GAAGc,CAAC,CAACQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QACpBrB,GAAG,GAAGa,CAAC,CAACQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QACpBpB,GAAG,GAAGY,CAAC,CAACQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QACpBnB,GAAG,GAAGW,CAAC,CAACQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QACpBlB,GAAG,GAAGU,CAAC,CAACQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;QACrBjB,GAAG,GAAGS,CAAC,CAACQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;QACrBhB,GAAG,GAAGQ,CAAC,CAACQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;QACrBf,GAAG,GAAGO,CAAC,CAACQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;QACrBd,GAAG,GAAGM,CAAC,CAACQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;QACrBb,GAAG,GAAGK,CAAC,CAACQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;QAErBJ,CAAC,GAAGO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEP,CAAC,IAAKC,CAAC,GAAGC,CAAC,GAAK,CAACD,CAAC,GAAGE,CAAE,CAAC,GAAG3B,GAAG,GAAG,SAAS,CAAC,GAAGyB,CAAC;QAC/DE,CAAC,GAAGI,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEJ,CAAC,IAAKH,CAAC,GAAGC,CAAC,GAAK,CAACD,CAAC,GAAGE,CAAE,CAAC,GAAGzB,GAAG,GAAG,SAAS,CAAC,GAAGuB,CAAC;QAChEE,CAAC,GAAGK,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEL,CAAC,IAAKC,CAAC,GAAGH,CAAC,GAAK,CAACG,CAAC,GAAGF,CAAE,CAAC,GAAGvB,GAAG,GAAG,SAAS,CAAC,GAAGyB,CAAC;QAChEF,CAAC,GAAGM,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEN,CAAC,IAAKC,CAAC,GAAGC,CAAC,GAAK,CAACD,CAAC,GAAGF,CAAE,CAAC,GAAGrB,GAAG,GAAG,UAAU,CAAC,GAAGuB,CAAC;QACjEF,CAAC,GAAGO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEP,CAAC,IAAKC,CAAC,GAAGC,CAAC,GAAK,CAACD,CAAC,GAAGE,CAAE,CAAC,GAAGvB,GAAG,GAAG,SAAS,CAAC,GAAGqB,CAAC;QAC/DE,CAAC,GAAGI,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEJ,CAAC,IAAKH,CAAC,GAAGC,CAAC,GAAK,CAACD,CAAC,GAAGE,CAAE,CAAC,GAAGrB,GAAG,GAAG,UAAU,CAAC,GAAGmB,CAAC;QACjEE,CAAC,GAAGK,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEL,CAAC,IAAKC,CAAC,GAAGH,CAAC,GAAK,CAACG,CAAC,GAAGF,CAAE,CAAC,GAAGnB,GAAG,GAAG,UAAU,CAAC,GAAGqB,CAAC;QACjEF,CAAC,GAAGM,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEN,CAAC,IAAKC,CAAC,GAAGC,CAAC,GAAK,CAACD,CAAC,GAAGF,CAAE,CAAC,GAAGjB,GAAG,GAAG,QAAQ,CAAC,GAAGmB,CAAC;QAC/DF,CAAC,GAAGO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEP,CAAC,IAAKC,CAAC,GAAGC,CAAC,GAAK,CAACD,CAAC,GAAGE,CAAE,CAAC,GAAGnB,GAAG,GAAG,UAAU,CAAC,GAAGiB,CAAC;QAChEE,CAAC,GAAGI,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEJ,CAAC,IAAKH,CAAC,GAAGC,CAAC,GAAK,CAACD,CAAC,GAAGE,CAAE,CAAC,GAAGjB,GAAG,GAAG,UAAU,CAAC,GAAGe,CAAC;QACjEE,CAAC,GAAGK,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEL,CAAC,IAAKC,CAAC,GAAGH,CAAC,GAAK,CAACG,CAAC,GAAGF,CAAE,CAAC,GAAGf,GAAG,GAAG,KAAK,CAAC,GAAGiB,CAAC;QAC5DF,CAAC,GAAGM,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEN,CAAC,IAAKC,CAAC,GAAGC,CAAC,GAAK,CAACD,CAAC,GAAGF,CAAE,CAAC,GAAGb,GAAG,GAAG,UAAU,CAAC,GAAGe,CAAC;QACjEF,CAAC,GAAGO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEP,CAAC,IAAKC,CAAC,GAAGC,CAAC,GAAK,CAACD,CAAC,GAAGE,CAAE,CAAC,GAAGf,GAAG,GAAG,UAAU,CAAC,GAAGa,CAAC;QAChEE,CAAC,GAAGI,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEJ,CAAC,IAAKH,CAAC,GAAGC,CAAC,GAAK,CAACD,CAAC,GAAGE,CAAE,CAAC,GAAGb,GAAG,GAAG,QAAQ,CAAC,GAAGW,CAAC;QAC/DE,CAAC,GAAGK,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEL,CAAC,IAAKC,CAAC,GAAGH,CAAC,GAAK,CAACG,CAAC,GAAGF,CAAE,CAAC,GAAGX,GAAG,GAAG,UAAU,CAAC,GAAGa,CAAC;QACjEF,CAAC,GAAGM,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEN,CAAC,IAAKC,CAAC,GAAGC,CAAC,GAAK,CAACD,CAAC,GAAGF,CAAE,CAAC,GAAGT,GAAG,GAAG,UAAU,CAAC,GAAGW,CAAC;QAEjEF,CAAC,GAAGO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEP,CAAC,IAAKC,CAAC,GAAGE,CAAC,GAAKD,CAAC,GAAG,CAACC,CAAE,CAAC,GAAG1B,GAAG,GAAG,SAAS,CAAC,GAAGwB,CAAC;QAC/DE,CAAC,GAAGI,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEJ,CAAC,IAAKH,CAAC,GAAGE,CAAC,GAAKD,CAAC,GAAG,CAACC,CAAE,CAAC,GAAGpB,GAAG,GAAG,UAAU,CAAC,GAAGkB,CAAC;QAChEE,CAAC,GAAGK,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEL,CAAC,IAAKC,CAAC,GAAGF,CAAC,GAAKD,CAAC,GAAG,CAACC,CAAE,CAAC,GAAGd,GAAG,GAAG,SAAS,CAAC,GAAGgB,CAAC;QAChEF,CAAC,GAAGM,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEN,CAAC,IAAKC,CAAC,GAAGF,CAAC,GAAKG,CAAC,GAAG,CAACH,CAAE,CAAC,GAAGxB,GAAG,GAAG,SAAS,CAAC,GAAG0B,CAAC;QAChEF,CAAC,GAAGO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEP,CAAC,IAAKC,CAAC,GAAGE,CAAC,GAAKD,CAAC,GAAG,CAACC,CAAE,CAAC,GAAGtB,GAAG,GAAG,SAAS,CAAC,GAAGoB,CAAC;QAC/DE,CAAC,GAAGI,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEJ,CAAC,IAAKH,CAAC,GAAGE,CAAC,GAAKD,CAAC,GAAG,CAACC,CAAE,CAAC,GAAGhB,GAAG,GAAG,QAAQ,CAAC,GAAGc,CAAC;QAC9DE,CAAC,GAAGK,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEL,CAAC,IAAKC,CAAC,GAAGF,CAAC,GAAKD,CAAC,GAAG,CAACC,CAAE,CAAC,GAAGV,GAAG,GAAG,SAAS,CAAC,GAAGY,CAAC;QAChEF,CAAC,GAAGM,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEN,CAAC,IAAKC,CAAC,GAAGF,CAAC,GAAKG,CAAC,GAAG,CAACH,CAAE,CAAC,GAAGpB,GAAG,GAAG,SAAS,CAAC,GAAGsB,CAAC;QAChEF,CAAC,GAAGO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEP,CAAC,IAAKC,CAAC,GAAGE,CAAC,GAAKD,CAAC,GAAG,CAACC,CAAE,CAAC,GAAGlB,GAAG,GAAG,SAAS,CAAC,GAAGgB,CAAC;QAC/DE,CAAC,GAAGI,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEJ,CAAC,IAAKH,CAAC,GAAGE,CAAC,GAAKD,CAAC,GAAG,CAACC,CAAE,CAAC,GAAGZ,GAAG,GAAG,UAAU,CAAC,GAAGU,CAAC;QAChEE,CAAC,GAAGK,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEL,CAAC,IAAKC,CAAC,GAAGF,CAAC,GAAKD,CAAC,GAAG,CAACC,CAAE,CAAC,GAAGtB,GAAG,GAAG,SAAS,CAAC,GAAGwB,CAAC;QAChEF,CAAC,GAAGM,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEN,CAAC,IAAKC,CAAC,GAAGF,CAAC,GAAKG,CAAC,GAAG,CAACH,CAAE,CAAC,GAAGhB,GAAG,GAAG,UAAU,CAAC,GAAGkB,CAAC;QACjEF,CAAC,GAAGO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEP,CAAC,IAAKC,CAAC,GAAGE,CAAC,GAAKD,CAAC,GAAG,CAACC,CAAE,CAAC,GAAGd,GAAG,GAAG,UAAU,CAAC,GAAGY,CAAC;QAChEE,CAAC,GAAGI,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEJ,CAAC,IAAKH,CAAC,GAAGE,CAAC,GAAKD,CAAC,GAAG,CAACC,CAAE,CAAC,GAAGxB,GAAG,GAAG,QAAQ,CAAC,GAAGsB,CAAC;QAC9DE,CAAC,GAAGK,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEL,CAAC,IAAKC,CAAC,GAAGF,CAAC,GAAKD,CAAC,GAAG,CAACC,CAAE,CAAC,GAAGlB,GAAG,GAAG,UAAU,CAAC,GAAGoB,CAAC;QACjEF,CAAC,GAAGM,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEN,CAAC,IAAKC,CAAC,GAAGF,CAAC,GAAKG,CAAC,GAAG,CAACH,CAAE,CAAC,GAAGZ,GAAG,GAAG,UAAU,CAAC,GAAGc,CAAC;QAEjEF,CAAC,GAAGO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEP,CAAC,IAAIC,CAAC,GAAGC,CAAC,GAAGC,CAAC,CAAC,GAAGtB,GAAG,GAAG,MAAM,CAAC,GAAGoB,CAAC;QACnDE,CAAC,GAAGI,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEJ,CAAC,IAAIH,CAAC,GAAGC,CAAC,GAAGC,CAAC,CAAC,GAAGlB,GAAG,GAAG,UAAU,CAAC,GAAGgB,CAAC;QACxDE,CAAC,GAAGK,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEL,CAAC,IAAIC,CAAC,GAAGH,CAAC,GAAGC,CAAC,CAAC,GAAGd,GAAG,GAAG,UAAU,CAAC,GAAGgB,CAAC;QACxDF,CAAC,GAAGM,IAAI,CAAC,EAAE,EAAE,CAAC,EAAEN,CAAC,IAAIC,CAAC,GAAGC,CAAC,GAAGH,CAAC,CAAC,GAAGV,GAAG,GAAG,QAAQ,CAAC,GAAGY,CAAC;QACrDF,CAAC,GAAGO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEP,CAAC,IAAIC,CAAC,GAAGC,CAAC,GAAGC,CAAC,CAAC,GAAG1B,GAAG,GAAG,UAAU,CAAC,GAAGwB,CAAC;QACvDE,CAAC,GAAGI,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEJ,CAAC,IAAIH,CAAC,GAAGC,CAAC,GAAGC,CAAC,CAAC,GAAGtB,GAAG,GAAG,UAAU,CAAC,GAAGoB,CAAC;QACxDE,CAAC,GAAGK,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEL,CAAC,IAAIC,CAAC,GAAGH,CAAC,GAAGC,CAAC,CAAC,GAAGlB,GAAG,GAAG,SAAS,CAAC,GAAGoB,CAAC;QACvDF,CAAC,GAAGM,IAAI,CAAC,EAAE,EAAE,CAAC,EAAEN,CAAC,IAAIC,CAAC,GAAGC,CAAC,GAAGH,CAAC,CAAC,GAAGd,GAAG,GAAG,UAAU,CAAC,GAAGgB,CAAC;QACvDF,CAAC,GAAGO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEP,CAAC,IAAIC,CAAC,GAAGC,CAAC,GAAGC,CAAC,CAAC,GAAGd,GAAG,GAAG,SAAS,CAAC,GAAGY,CAAC;QACtDE,CAAC,GAAGI,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEJ,CAAC,IAAIH,CAAC,GAAGC,CAAC,GAAGC,CAAC,CAAC,GAAG1B,GAAG,GAAG,SAAS,CAAC,GAAGwB,CAAC;QACvDE,CAAC,GAAGK,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEL,CAAC,IAAIC,CAAC,GAAGH,CAAC,GAAGC,CAAC,CAAC,GAAGtB,GAAG,GAAG,SAAS,CAAC,GAAGwB,CAAC;QACvDF,CAAC,GAAGM,IAAI,CAAC,EAAE,EAAE,CAAC,EAAEN,CAAC,IAAIC,CAAC,GAAGC,CAAC,GAAGH,CAAC,CAAC,GAAGlB,GAAG,GAAG,QAAQ,CAAC,GAAGoB,CAAC;QACrDF,CAAC,GAAGO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEP,CAAC,IAAIC,CAAC,GAAGC,CAAC,GAAGC,CAAC,CAAC,GAAGlB,GAAG,GAAG,SAAS,CAAC,GAAGgB,CAAC;QACtDE,CAAC,GAAGI,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEJ,CAAC,IAAIH,CAAC,GAAGC,CAAC,GAAGC,CAAC,CAAC,GAAGd,GAAG,GAAG,SAAS,CAAC,GAAGY,CAAC;QACvDE,CAAC,GAAGK,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEL,CAAC,IAAIC,CAAC,GAAGH,CAAC,GAAGC,CAAC,CAAC,GAAGV,GAAG,GAAG,SAAS,CAAC,GAAGY,CAAC;QACvDF,CAAC,GAAGM,IAAI,CAAC,EAAE,EAAE,CAAC,EAAEN,CAAC,IAAIC,CAAC,GAAGC,CAAC,GAAGH,CAAC,CAAC,GAAGtB,GAAG,GAAG,SAAS,CAAC,GAAGwB,CAAC;QAEtDF,CAAC,GAAGO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEP,CAAC,IAAIE,CAAC,IAAID,CAAC,GAAG,CAACE,CAAC,CAAC,CAAC,GAAG3B,GAAG,GAAG,SAAS,CAAC,GAAGyB,CAAC;QACzDE,CAAC,GAAGI,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEJ,CAAC,IAAIF,CAAC,IAAID,CAAC,GAAG,CAACE,CAAC,CAAC,CAAC,GAAGnB,GAAG,GAAG,UAAU,CAAC,GAAGiB,CAAC;QAC3DE,CAAC,GAAGK,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEL,CAAC,IAAIF,CAAC,IAAIG,CAAC,GAAG,CAACF,CAAC,CAAC,CAAC,GAAGX,GAAG,GAAG,UAAU,CAAC,GAAGa,CAAC;QAC3DF,CAAC,GAAGM,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEN,CAAC,IAAIE,CAAC,IAAID,CAAC,GAAG,CAACF,CAAC,CAAC,CAAC,GAAGnB,GAAG,GAAG,QAAQ,CAAC,GAAGqB,CAAC;QACzDF,CAAC,GAAGO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEP,CAAC,IAAIE,CAAC,IAAID,CAAC,GAAG,CAACE,CAAC,CAAC,CAAC,GAAGf,GAAG,GAAG,UAAU,CAAC,GAAGa,CAAC;QAC1DE,CAAC,GAAGI,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEJ,CAAC,IAAIF,CAAC,IAAID,CAAC,GAAG,CAACE,CAAC,CAAC,CAAC,GAAGvB,GAAG,GAAG,UAAU,CAAC,GAAGqB,CAAC;QAC3DE,CAAC,GAAGK,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEL,CAAC,IAAIF,CAAC,IAAIG,CAAC,GAAG,CAACF,CAAC,CAAC,CAAC,GAAGf,GAAG,GAAG,OAAO,CAAC,GAAGiB,CAAC;QACxDF,CAAC,GAAGM,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEN,CAAC,IAAIE,CAAC,IAAID,CAAC,GAAG,CAACF,CAAC,CAAC,CAAC,GAAGvB,GAAG,GAAG,UAAU,CAAC,GAAGyB,CAAC;QAC3DF,CAAC,GAAGO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEP,CAAC,IAAIE,CAAC,IAAID,CAAC,GAAG,CAACE,CAAC,CAAC,CAAC,GAAGnB,GAAG,GAAG,UAAU,CAAC,GAAGiB,CAAC;QAC1DE,CAAC,GAAGI,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEJ,CAAC,IAAIF,CAAC,IAAID,CAAC,GAAG,CAACE,CAAC,CAAC,CAAC,GAAGX,GAAG,GAAG,QAAQ,CAAC,GAAGS,CAAC;QACzDE,CAAC,GAAGK,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEL,CAAC,IAAIF,CAAC,IAAIG,CAAC,GAAG,CAACF,CAAC,CAAC,CAAC,GAAGnB,GAAG,GAAG,UAAU,CAAC,GAAGqB,CAAC;QAC3DF,CAAC,GAAGM,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEN,CAAC,IAAIE,CAAC,IAAID,CAAC,GAAG,CAACF,CAAC,CAAC,CAAC,GAAGX,GAAG,GAAG,UAAU,CAAC,GAAGa,CAAC;QAC3DF,CAAC,GAAGO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEP,CAAC,IAAIE,CAAC,IAAID,CAAC,GAAG,CAACE,CAAC,CAAC,CAAC,GAAGvB,GAAG,GAAG,SAAS,CAAC,GAAGqB,CAAC;QACzDE,CAAC,GAAGI,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEJ,CAAC,IAAIF,CAAC,IAAID,CAAC,GAAG,CAACE,CAAC,CAAC,CAAC,GAAGf,GAAG,GAAG,UAAU,CAAC,GAAGa,CAAC;QAC3DE,CAAC,GAAGK,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEL,CAAC,IAAIF,CAAC,IAAIG,CAAC,GAAG,CAACF,CAAC,CAAC,CAAC,GAAGvB,GAAG,GAAG,SAAS,CAAC,GAAGyB,CAAC;QAC1DF,CAAC,GAAGM,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEN,CAAC,IAAIE,CAAC,IAAID,CAAC,GAAG,CAACF,CAAC,CAAC,CAAC,GAAGf,GAAG,GAAG,SAAS,CAAC,GAAGiB,CAAC;QAE1DE,CAAC,GAAGA,CAAC,GAAG,EAAE;QACVJ,CAAC,GAAIA,CAAC,GAAGR,EAAE,KAAM,CAAC;QAClBS,CAAC,GAAIA,CAAC,GAAGR,EAAE,KAAM,CAAC;QAClBS,CAAC,GAAIA,CAAC,GAAGR,EAAE,KAAM,CAAC;QAClBS,CAAC,GAAIA,CAAC,GAAGR,EAAE,KAAM,CAAC;MACpB;IACF;IAIA,OAAOvF,KAAK,CAACoG,MAAM,CAAC,CAACR,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC,CAAC;IAEjC,SAASI,IAAIA,CAACE,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE;MACrB,OAAQA,CAAC,IAAIF,CAAC,GAAKE,CAAC,KAAKD,CAAE;IAC7B;IAGA,SAASJ,iBAAiBA,CAACM,KAAK,EAAEC,KAAK,EAAE;MACvC,IAAIT,CAAC,GAAG,CAAC,CAAC;QACRC,CAAC,GAAG7F,IAAI,CAACC,KAAK,CAAC,CAACmG,KAAK,CAAChE,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;QACtCkE,CAAC,GAAG,CAAC;QACLC,EAAE;QACFC,EAAE;QACFC,EAAE;QACFC,EAAE;MACJ,OAAOb,CAAC,GAAG,CAAC,GAAGD,CAAC,EAAE,EAAE;QAClBU,CAAC,GAAGV,CAAC,IAAI,CAAC;QACVS,KAAK,CAACT,CAAC,CAAC,GAAGQ,KAAK,CAACE,CAAC,GAAG,CAAC,CAAC,GAAIF,KAAK,CAACE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAE,GAAIF,KAAK,CAACE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAG,GAAIF,KAAK,CAACE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAG;MAC7F;MACAV,CAAC,EAAE;MACH,OAAOC,CAAC,GAAGD,CAAC,EAAE,EAAE;QACdU,CAAC,GAAGV,CAAC,IAAI,CAAC;QACVW,EAAE,GAAG,OAAOH,KAAK,CAACE,CAAC,GAAG,CAAC,CAAC,KAAK,WAAW,GAAG,CAAC,GAAGF,KAAK,CAACE,CAAC,GAAG,CAAC,CAAC;QAC3DE,EAAE,GAAG,OAAOJ,KAAK,CAACE,CAAC,GAAG,CAAC,CAAC,KAAK,WAAW,GAAG,CAAC,GAAGF,KAAK,CAACE,CAAC,GAAG,CAAC,CAAC;QAC3DG,EAAE,GAAG,OAAOL,KAAK,CAACE,CAAC,GAAG,CAAC,CAAC,KAAK,WAAW,GAAG,CAAC,GAAGF,KAAK,CAACE,CAAC,GAAG,CAAC,CAAC;QAC3DI,EAAE,GAAG,OAAON,KAAK,CAACE,CAAC,GAAG,CAAC,CAAC,KAAK,WAAW,GAAG,CAAC,GAAGF,KAAK,CAACE,CAAC,GAAG,CAAC,CAAC;QAC3DD,KAAK,CAACT,CAAC,CAAC,GAAGW,EAAE,GAAIC,EAAE,IAAI,CAAE,GAAIC,EAAE,IAAI,EAAG,GAAIC,EAAE,IAAI,EAAG;MACrD;MACA,OAAOb,CAAC,GAAG,CAAC;IACd;EACF,CAAC;EAED,OAAO,UAAU9B,OAAO,EAAEjB,OAAO,EAAE6D,KAAK,EAAEC,OAAO,EAAE;IACjD,IAAIC,WAAW;IACfzD,KAAK,GAAGN,OAAO,CAACM,KAAK;IACrBD,IAAI,GAAGL,OAAO,CAACK,IAAI;IACnBE,IAAI,GAAGP,OAAO,CAACO,IAAI;IACnBE,IAAI,GAAGT,OAAO,CAACS,IAAI;IACnBE,IAAI,GAAGX,OAAO,CAACW,IAAI;IACnBE,IAAI,GAAGb,OAAO,CAACa,IAAI;IACnBE,IAAI,GAAGf,OAAO,CAACe,IAAI;IACnBP,IAAI,GAAGR,OAAO,CAACQ,IAAI;IACnBE,IAAI,GAAGV,OAAO,CAACU,IAAI;IACnBE,IAAI,GAAGZ,OAAO,CAACY,IAAI;IACnBE,IAAI,GAAGd,OAAO,CAACc,IAAI;IACnBE,IAAI,GAAGhB,OAAO,CAACgB,IAAI;IACnBpD,OAAO,GAAGiG,KAAK;IACfE,WAAW,GAAGjH,KAAK,CAACkH,YAAY,CAACzF,KAAK,CAAC0C,OAAO,CAAC,CAAC;IAChD,OAAO6C,OAAO,IAAIA,OAAO,CAACG,OAAO,GAAGF,WAAW,GAAGjH,KAAK,CAACoH,UAAU,CAACH,WAAW,CAAC;EACjF,CAAC;AACH;AAEA,SAASzF,SAASA,CAAA,EAAG;EACnB,IAAID,KAAK,GAAG,SAARA,KAAKA,CAAa4C,OAAO,EAAE6C,OAAO,EAAE;IACtC,IAAI5C,GAAG,EACLC,GAAG,EACHC,GAAG,EACHC,GAAG,EACHC,GAAG,EACHC,GAAG,EACHC,GAAG,EACHC,GAAG,EACHC,GAAG,EACHC,GAAG,EACHC,GAAG,EACHC,GAAG,EACHC,GAAG,EACHC,GAAG,EACHC,GAAG,EACHC,GAAG,EACHC,EAAE,EACFC,EAAE,EACFC,EAAE,EACFC,EAAE,EACFC,CAAC;IACH,IAAIE,MAAM,GAAG,IAAI7D,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;IAIjC,IAAI8D,CAAC,GAAG,UAAU;MAChBC,CAAC,GAAG,CAAC,SAAS;MACdC,CAAC,GAAG,CAAC,UAAU;MACfC,CAAC,GAAG,SAAS;MACbE,CAAC,GAAG9B,OAAO,CAAC3B,MAAM,GAAG,CAAC;IAExBgD,CAAC,GAAGxF,KAAK,CAACqH,YAAY,CAAClD,OAAO,CAAC;IAG/B,KAAK,IAAIuC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGlB,CAAC,CAAChD,MAAM,EAAEkE,CAAC,EAAE,EAAE;MACjClB,CAAC,CAACkB,CAAC,CAAC,GACD,CAAElB,CAAC,CAACkB,CAAC,CAAC,IAAI,CAAC,GAAKlB,CAAC,CAACkB,CAAC,CAAC,KAAK,EAAG,IAAI,UAAU,GAAK,CAAElB,CAAC,CAACkB,CAAC,CAAC,IAAI,EAAE,GAAKlB,CAAC,CAACkB,CAAC,CAAC,KAAK,CAAE,IAAI,UAAW;IAC/F;IAGAlB,CAAC,CAACS,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,IAAIA,CAAC,GAAG,EAAE;IAC5BT,CAAC,CAAC,CAAGS,CAAC,GAAG,EAAE,KAAM,CAAC,IAAK,CAAC,IAAI,EAAE,CAAC,GAAGA,CAAC;IAEnC,KAAK,IAAID,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGR,CAAC,CAAChD,MAAM,EAAEwD,CAAC,IAAI,EAAE,EAAE;MACrCZ,EAAE,GAAGQ,CAAC;MACNP,EAAE,GAAGQ,CAAC;MACNP,EAAE,GAAGQ,CAAC;MACNP,EAAE,GAAGQ,CAAC;MACN3B,GAAG,GAAGoB,CAAC,CAACQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;MACpB3B,GAAG,GAAGmB,CAAC,CAACQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;MACpB1B,GAAG,GAAGkB,CAAC,CAACQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;MACpBzB,GAAG,GAAGiB,CAAC,CAACQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;MACpBxB,GAAG,GAAGgB,CAAC,CAACQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;MACpBvB,GAAG,GAAGe,CAAC,CAACQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;MACpBtB,GAAG,GAAGc,CAAC,CAACQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;MACpBrB,GAAG,GAAGa,CAAC,CAACQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;MACpBpB,GAAG,GAAGY,CAAC,CAACQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;MACpBnB,GAAG,GAAGW,CAAC,CAACQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;MACpBlB,GAAG,GAAGU,CAAC,CAACQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;MACrBjB,GAAG,GAAGS,CAAC,CAACQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;MACrBhB,GAAG,GAAGQ,CAAC,CAACQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;MACrBf,GAAG,GAAGO,CAAC,CAACQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;MACrBd,GAAG,GAAGM,CAAC,CAACQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;MACrBb,GAAG,GAAGK,CAAC,CAACQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;MAErBJ,CAAC,GAAGO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEP,CAAC,IAAKC,CAAC,GAAGC,CAAC,GAAK,CAACD,CAAC,GAAGE,CAAE,CAAC,GAAG3B,GAAG,GAAG,SAAS,CAAC,GAAGyB,CAAC;MAC/DE,CAAC,GAAGI,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEJ,CAAC,IAAKH,CAAC,GAAGC,CAAC,GAAK,CAACD,CAAC,GAAGE,CAAE,CAAC,GAAGzB,GAAG,GAAG,SAAS,CAAC,GAAGuB,CAAC;MAChEE,CAAC,GAAGK,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEL,CAAC,IAAKC,CAAC,GAAGH,CAAC,GAAK,CAACG,CAAC,GAAGF,CAAE,CAAC,GAAGvB,GAAG,GAAG,SAAS,CAAC,GAAGyB,CAAC;MAChEF,CAAC,GAAGM,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEN,CAAC,IAAKC,CAAC,GAAGC,CAAC,GAAK,CAACD,CAAC,GAAGF,CAAE,CAAC,GAAGrB,GAAG,GAAG,UAAU,CAAC,GAAGuB,CAAC;MACjEF,CAAC,GAAGO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEP,CAAC,IAAKC,CAAC,GAAGC,CAAC,GAAK,CAACD,CAAC,GAAGE,CAAE,CAAC,GAAGvB,GAAG,GAAG,SAAS,CAAC,GAAGqB,CAAC;MAC/DE,CAAC,GAAGI,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEJ,CAAC,IAAKH,CAAC,GAAGC,CAAC,GAAK,CAACD,CAAC,GAAGE,CAAE,CAAC,GAAGrB,GAAG,GAAG,UAAU,CAAC,GAAGmB,CAAC;MACjEE,CAAC,GAAGK,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEL,CAAC,IAAKC,CAAC,GAAGH,CAAC,GAAK,CAACG,CAAC,GAAGF,CAAE,CAAC,GAAGnB,GAAG,GAAG,UAAU,CAAC,GAAGqB,CAAC;MACjEF,CAAC,GAAGM,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEN,CAAC,IAAKC,CAAC,GAAGC,CAAC,GAAK,CAACD,CAAC,GAAGF,CAAE,CAAC,GAAGjB,GAAG,GAAG,QAAQ,CAAC,GAAGmB,CAAC;MAC/DF,CAAC,GAAGO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEP,CAAC,IAAKC,CAAC,GAAGC,CAAC,GAAK,CAACD,CAAC,GAAGE,CAAE,CAAC,GAAGnB,GAAG,GAAG,UAAU,CAAC,GAAGiB,CAAC;MAChEE,CAAC,GAAGI,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEJ,CAAC,IAAKH,CAAC,GAAGC,CAAC,GAAK,CAACD,CAAC,GAAGE,CAAE,CAAC,GAAGjB,GAAG,GAAG,UAAU,CAAC,GAAGe,CAAC;MACjEE,CAAC,GAAGK,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEL,CAAC,IAAKC,CAAC,GAAGH,CAAC,GAAK,CAACG,CAAC,GAAGF,CAAE,CAAC,GAAGf,GAAG,GAAG,KAAK,CAAC,GAAGiB,CAAC;MAC5DF,CAAC,GAAGM,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEN,CAAC,IAAKC,CAAC,GAAGC,CAAC,GAAK,CAACD,CAAC,GAAGF,CAAE,CAAC,GAAGb,GAAG,GAAG,UAAU,CAAC,GAAGe,CAAC;MACjEF,CAAC,GAAGO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEP,CAAC,IAAKC,CAAC,GAAGC,CAAC,GAAK,CAACD,CAAC,GAAGE,CAAE,CAAC,GAAGf,GAAG,GAAG,UAAU,CAAC,GAAGa,CAAC;MAChEE,CAAC,GAAGI,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEJ,CAAC,IAAKH,CAAC,GAAGC,CAAC,GAAK,CAACD,CAAC,GAAGE,CAAE,CAAC,GAAGb,GAAG,GAAG,QAAQ,CAAC,GAAGW,CAAC;MAC/DE,CAAC,GAAGK,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEL,CAAC,IAAKC,CAAC,GAAGH,CAAC,GAAK,CAACG,CAAC,GAAGF,CAAE,CAAC,GAAGX,GAAG,GAAG,UAAU,CAAC,GAAGa,CAAC;MACjEF,CAAC,GAAGM,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEN,CAAC,IAAKC,CAAC,GAAGC,CAAC,GAAK,CAACD,CAAC,GAAGF,CAAE,CAAC,GAAGT,GAAG,GAAG,UAAU,CAAC,GAAGW,CAAC;MAEjEF,CAAC,GAAGO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEP,CAAC,IAAKC,CAAC,GAAGE,CAAC,GAAKD,CAAC,GAAG,CAACC,CAAE,CAAC,GAAG1B,GAAG,GAAG,SAAS,CAAC,GAAGwB,CAAC;MAC/DE,CAAC,GAAGI,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEJ,CAAC,IAAKH,CAAC,GAAGE,CAAC,GAAKD,CAAC,GAAG,CAACC,CAAE,CAAC,GAAGpB,GAAG,GAAG,UAAU,CAAC,GAAGkB,CAAC;MAChEE,CAAC,GAAGK,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEL,CAAC,IAAKC,CAAC,GAAGF,CAAC,GAAKD,CAAC,GAAG,CAACC,CAAE,CAAC,GAAGd,GAAG,GAAG,SAAS,CAAC,GAAGgB,CAAC;MAChEF,CAAC,GAAGM,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEN,CAAC,IAAKC,CAAC,GAAGF,CAAC,GAAKG,CAAC,GAAG,CAACH,CAAE,CAAC,GAAGxB,GAAG,GAAG,SAAS,CAAC,GAAG0B,CAAC;MAChEF,CAAC,GAAGO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEP,CAAC,IAAKC,CAAC,GAAGE,CAAC,GAAKD,CAAC,GAAG,CAACC,CAAE,CAAC,GAAGtB,GAAG,GAAG,SAAS,CAAC,GAAGoB,CAAC;MAC/DE,CAAC,GAAGI,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEJ,CAAC,IAAKH,CAAC,GAAGE,CAAC,GAAKD,CAAC,GAAG,CAACC,CAAE,CAAC,GAAGhB,GAAG,GAAG,QAAQ,CAAC,GAAGc,CAAC;MAC9DE,CAAC,GAAGK,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEL,CAAC,IAAKC,CAAC,GAAGF,CAAC,GAAKD,CAAC,GAAG,CAACC,CAAE,CAAC,GAAGV,GAAG,GAAG,SAAS,CAAC,GAAGY,CAAC;MAChEF,CAAC,GAAGM,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEN,CAAC,IAAKC,CAAC,GAAGF,CAAC,GAAKG,CAAC,GAAG,CAACH,CAAE,CAAC,GAAGpB,GAAG,GAAG,SAAS,CAAC,GAAGsB,CAAC;MAChEF,CAAC,GAAGO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEP,CAAC,IAAKC,CAAC,GAAGE,CAAC,GAAKD,CAAC,GAAG,CAACC,CAAE,CAAC,GAAGlB,GAAG,GAAG,SAAS,CAAC,GAAGgB,CAAC;MAC/DE,CAAC,GAAGI,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEJ,CAAC,IAAKH,CAAC,GAAGE,CAAC,GAAKD,CAAC,GAAG,CAACC,CAAE,CAAC,GAAGZ,GAAG,GAAG,UAAU,CAAC,GAAGU,CAAC;MAChEE,CAAC,GAAGK,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEL,CAAC,IAAKC,CAAC,GAAGF,CAAC,GAAKD,CAAC,GAAG,CAACC,CAAE,CAAC,GAAGtB,GAAG,GAAG,SAAS,CAAC,GAAGwB,CAAC;MAChEF,CAAC,GAAGM,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEN,CAAC,IAAKC,CAAC,GAAGF,CAAC,GAAKG,CAAC,GAAG,CAACH,CAAE,CAAC,GAAGhB,GAAG,GAAG,UAAU,CAAC,GAAGkB,CAAC;MACjEF,CAAC,GAAGO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEP,CAAC,IAAKC,CAAC,GAAGE,CAAC,GAAKD,CAAC,GAAG,CAACC,CAAE,CAAC,GAAGd,GAAG,GAAG,UAAU,CAAC,GAAGY,CAAC;MAChEE,CAAC,GAAGI,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEJ,CAAC,IAAKH,CAAC,GAAGE,CAAC,GAAKD,CAAC,GAAG,CAACC,CAAE,CAAC,GAAGxB,GAAG,GAAG,QAAQ,CAAC,GAAGsB,CAAC;MAC9DE,CAAC,GAAGK,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEL,CAAC,IAAKC,CAAC,GAAGF,CAAC,GAAKD,CAAC,GAAG,CAACC,CAAE,CAAC,GAAGlB,GAAG,GAAG,UAAU,CAAC,GAAGoB,CAAC;MACjEF,CAAC,GAAGM,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEN,CAAC,IAAKC,CAAC,GAAGF,CAAC,GAAKG,CAAC,GAAG,CAACH,CAAE,CAAC,GAAGZ,GAAG,GAAG,UAAU,CAAC,GAAGc,CAAC;MAEjEF,CAAC,GAAGO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEP,CAAC,IAAIC,CAAC,GAAGC,CAAC,GAAGC,CAAC,CAAC,GAAGtB,GAAG,GAAG,MAAM,CAAC,GAAGoB,CAAC;MACnDE,CAAC,GAAGI,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEJ,CAAC,IAAIH,CAAC,GAAGC,CAAC,GAAGC,CAAC,CAAC,GAAGlB,GAAG,GAAG,UAAU,CAAC,GAAGgB,CAAC;MACxDE,CAAC,GAAGK,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEL,CAAC,IAAIC,CAAC,GAAGH,CAAC,GAAGC,CAAC,CAAC,GAAGd,GAAG,GAAG,UAAU,CAAC,GAAGgB,CAAC;MACxDF,CAAC,GAAGM,IAAI,CAAC,EAAE,EAAE,CAAC,EAAEN,CAAC,IAAIC,CAAC,GAAGC,CAAC,GAAGH,CAAC,CAAC,GAAGV,GAAG,GAAG,QAAQ,CAAC,GAAGY,CAAC;MACrDF,CAAC,GAAGO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEP,CAAC,IAAIC,CAAC,GAAGC,CAAC,GAAGC,CAAC,CAAC,GAAG1B,GAAG,GAAG,UAAU,CAAC,GAAGwB,CAAC;MACvDE,CAAC,GAAGI,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEJ,CAAC,IAAIH,CAAC,GAAGC,CAAC,GAAGC,CAAC,CAAC,GAAGtB,GAAG,GAAG,UAAU,CAAC,GAAGoB,CAAC;MACxDE,CAAC,GAAGK,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEL,CAAC,IAAIC,CAAC,GAAGH,CAAC,GAAGC,CAAC,CAAC,GAAGlB,GAAG,GAAG,SAAS,CAAC,GAAGoB,CAAC;MACvDF,CAAC,GAAGM,IAAI,CAAC,EAAE,EAAE,CAAC,EAAEN,CAAC,IAAIC,CAAC,GAAGC,CAAC,GAAGH,CAAC,CAAC,GAAGd,GAAG,GAAG,UAAU,CAAC,GAAGgB,CAAC;MACvDF,CAAC,GAAGO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEP,CAAC,IAAIC,CAAC,GAAGC,CAAC,GAAGC,CAAC,CAAC,GAAGd,GAAG,GAAG,SAAS,CAAC,GAAGY,CAAC;MACtDE,CAAC,GAAGI,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEJ,CAAC,IAAIH,CAAC,GAAGC,CAAC,GAAGC,CAAC,CAAC,GAAG1B,GAAG,GAAG,SAAS,CAAC,GAAGwB,CAAC;MACvDE,CAAC,GAAGK,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEL,CAAC,IAAIC,CAAC,GAAGH,CAAC,GAAGC,CAAC,CAAC,GAAGtB,GAAG,GAAG,SAAS,CAAC,GAAGwB,CAAC;MACvDF,CAAC,GAAGM,IAAI,CAAC,EAAE,EAAE,CAAC,EAAEN,CAAC,IAAIC,CAAC,GAAGC,CAAC,GAAGH,CAAC,CAAC,GAAGlB,GAAG,GAAG,QAAQ,CAAC,GAAGoB,CAAC;MACrDF,CAAC,GAAGO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEP,CAAC,IAAIC,CAAC,GAAGC,CAAC,GAAGC,CAAC,CAAC,GAAGlB,GAAG,GAAG,SAAS,CAAC,GAAGgB,CAAC;MACtDE,CAAC,GAAGI,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEJ,CAAC,IAAIH,CAAC,GAAGC,CAAC,GAAGC,CAAC,CAAC,GAAGd,GAAG,GAAG,SAAS,CAAC,GAAGY,CAAC;MACvDE,CAAC,GAAGK,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEL,CAAC,IAAIC,CAAC,GAAGH,CAAC,GAAGC,CAAC,CAAC,GAAGV,GAAG,GAAG,SAAS,CAAC,GAAGY,CAAC;MACvDF,CAAC,GAAGM,IAAI,CAAC,EAAE,EAAE,CAAC,EAAEN,CAAC,IAAIC,CAAC,GAAGC,CAAC,GAAGH,CAAC,CAAC,GAAGtB,GAAG,GAAG,SAAS,CAAC,GAAGwB,CAAC;MAEtDF,CAAC,GAAGO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEP,CAAC,IAAIE,CAAC,IAAID,CAAC,GAAG,CAACE,CAAC,CAAC,CAAC,GAAG3B,GAAG,GAAG,SAAS,CAAC,GAAGyB,CAAC;MACzDE,CAAC,GAAGI,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEJ,CAAC,IAAIF,CAAC,IAAID,CAAC,GAAG,CAACE,CAAC,CAAC,CAAC,GAAGnB,GAAG,GAAG,UAAU,CAAC,GAAGiB,CAAC;MAC3DE,CAAC,GAAGK,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEL,CAAC,IAAIF,CAAC,IAAIG,CAAC,GAAG,CAACF,CAAC,CAAC,CAAC,GAAGX,GAAG,GAAG,UAAU,CAAC,GAAGa,CAAC;MAC3DF,CAAC,GAAGM,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEN,CAAC,IAAIE,CAAC,IAAID,CAAC,GAAG,CAACF,CAAC,CAAC,CAAC,GAAGnB,GAAG,GAAG,QAAQ,CAAC,GAAGqB,CAAC;MACzDF,CAAC,GAAGO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEP,CAAC,IAAIE,CAAC,IAAID,CAAC,GAAG,CAACE,CAAC,CAAC,CAAC,GAAGf,GAAG,GAAG,UAAU,CAAC,GAAGa,CAAC;MAC1DE,CAAC,GAAGI,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEJ,CAAC,IAAIF,CAAC,IAAID,CAAC,GAAG,CAACE,CAAC,CAAC,CAAC,GAAGvB,GAAG,GAAG,UAAU,CAAC,GAAGqB,CAAC;MAC3DE,CAAC,GAAGK,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEL,CAAC,IAAIF,CAAC,IAAIG,CAAC,GAAG,CAACF,CAAC,CAAC,CAAC,GAAGf,GAAG,GAAG,OAAO,CAAC,GAAGiB,CAAC;MACxDF,CAAC,GAAGM,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEN,CAAC,IAAIE,CAAC,IAAID,CAAC,GAAG,CAACF,CAAC,CAAC,CAAC,GAAGvB,GAAG,GAAG,UAAU,CAAC,GAAGyB,CAAC;MAC3DF,CAAC,GAAGO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEP,CAAC,IAAIE,CAAC,IAAID,CAAC,GAAG,CAACE,CAAC,CAAC,CAAC,GAAGnB,GAAG,GAAG,UAAU,CAAC,GAAGiB,CAAC;MAC1DE,CAAC,GAAGI,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEJ,CAAC,IAAIF,CAAC,IAAID,CAAC,GAAG,CAACE,CAAC,CAAC,CAAC,GAAGX,GAAG,GAAG,QAAQ,CAAC,GAAGS,CAAC;MACzDE,CAAC,GAAGK,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEL,CAAC,IAAIF,CAAC,IAAIG,CAAC,GAAG,CAACF,CAAC,CAAC,CAAC,GAAGnB,GAAG,GAAG,UAAU,CAAC,GAAGqB,CAAC;MAC3DF,CAAC,GAAGM,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEN,CAAC,IAAIE,CAAC,IAAID,CAAC,GAAG,CAACF,CAAC,CAAC,CAAC,GAAGX,GAAG,GAAG,UAAU,CAAC,GAAGa,CAAC;MAC3DF,CAAC,GAAGO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAEP,CAAC,IAAIE,CAAC,IAAID,CAAC,GAAG,CAACE,CAAC,CAAC,CAAC,GAAGvB,GAAG,GAAG,SAAS,CAAC,GAAGqB,CAAC;MACzDE,CAAC,GAAGI,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEJ,CAAC,IAAIF,CAAC,IAAID,CAAC,GAAG,CAACE,CAAC,CAAC,CAAC,GAAGf,GAAG,GAAG,UAAU,CAAC,GAAGa,CAAC;MAC3DE,CAAC,GAAGK,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEL,CAAC,IAAIF,CAAC,IAAIG,CAAC,GAAG,CAACF,CAAC,CAAC,CAAC,GAAGvB,GAAG,GAAG,SAAS,CAAC,GAAGyB,CAAC;MAC1DF,CAAC,GAAGM,IAAI,CAAC,EAAE,EAAE,EAAE,EAAEN,CAAC,IAAIE,CAAC,IAAID,CAAC,GAAG,CAACF,CAAC,CAAC,CAAC,GAAGf,GAAG,GAAG,SAAS,CAAC,GAAGiB,CAAC;MAE1DF,CAAC,GAAIA,CAAC,GAAGR,EAAE,KAAM,CAAC;MAClBS,CAAC,GAAIA,CAAC,GAAGR,EAAE,KAAM,CAAC;MAClBS,CAAC,GAAIA,CAAC,GAAGR,EAAE,KAAM,CAAC;MAClBS,CAAC,GAAIA,CAAC,GAAGR,EAAE,KAAM,CAAC;IACpB;IAIA,OAAOvF,KAAK,CAACoG,MAAM,CAAC,CAACR,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC,CAAC;IAEjC,SAASI,IAAIA,CAACE,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE;MACrB,OAAQA,CAAC,IAAIF,CAAC,GAAKE,CAAC,KAAKD,CAAE;IAC7B;EACF,CAAC;EAED,OAAO,UAAUnC,OAAO,EAAE6C,OAAO,EAAE;IACjC,IAAIC,WAAW,GAAGjH,KAAK,CAACkH,YAAY,CAAC3F,KAAK,CAAC4C,OAAO,EAAE6C,OAAO,CAAC,CAAC;MAC3D3F,MAAM,GAAG2F,OAAO,IAAIA,OAAO,CAACG,OAAO,GAAGF,WAAW,GAAGjH,KAAK,CAACoH,UAAU,CAACH,WAAW,CAAC;IACnF,OAAO5F,MAAM;EACf,CAAC;AACH;AACA,SAASvB,MAAMA,CAACwH,GAAG,EAAE;EACnB,IAAIrB,CAAC;IACH/E,IAAI;IACJqG,QAAQ;IACRvB,CAAC,GAAG,CAAC,CAAC;EACRC,CAAC,GAAGqB,GAAG,CAAC9E,MAAM,GAAG,CAAC;EAClBtB,IAAI,GAAG,IAAImB,WAAW,CAACiF,GAAG,CAAC9E,MAAM,CAAC;EAClC+E,QAAQ,GAAG,IAAInF,UAAU,CAAClB,IAAI,CAAC;EAC/B,OAAO+E,CAAC,GAAGD,CAAC,EAAE,EAAE;IACduB,QAAQ,CAACvB,CAAC,CAAC,GAAGsB,GAAG,CAACE,UAAU,CAACxB,CAAC,CAAC;EACjC;EACA,OAAOuB,QAAQ;AACjB;AACA,SAAS9H,QAAQA,CAAC6H,GAAG,EAAE;EACrB,OAAO9H,MAAM,CAACiI,IAAI,CAACH,GAAG,EAAE,QAAQ,CAAC,CAACI,QAAQ,CAAC,QAAQ,CAAC;AACtD;AACA,SAAShI,QAAQA,CAACiI,CAAC,EAAE;EACnB,OAAOA,CAAC;AACV;AAEA,SAAS1H,SAASA,CAAA,EAAG;EACnB,IAAI2H,SAAS,GAAG,kEAAkE;EAElF,OAAO;IACLC,IAAI,EAAE,SAAAA,KAAUtB,CAAC,EAAEV,CAAC,EAAE;MACpB,OAAQU,CAAC,IAAIV,CAAC,GAAKU,CAAC,KAAM,EAAE,GAAGV,CAAG;IACpC,CAAC;IAEDO,MAAM,EAAE,SAAAA,OAAUG,CAAC,EAAE;MACnB,IAAIA,CAAC,CAACpE,WAAW,IAAI2F,MAAM,EAAE;QAC3B,OAAQ9H,KAAK,CAAC6H,IAAI,CAACtB,CAAC,EAAE,CAAC,CAAC,GAAG,UAAU,GAAKvG,KAAK,CAAC6H,IAAI,CAACtB,CAAC,EAAE,EAAE,CAAC,GAAG,UAAW;MAC3E;MACA,KAAK,IAAIP,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGO,CAAC,CAAC/D,MAAM,EAAEwD,CAAC,EAAE,EAAEO,CAAC,CAACP,CAAC,CAAC,GAAGhG,KAAK,CAACoG,MAAM,CAACG,CAAC,CAACP,CAAC,CAAC,CAAC;MAC5D,OAAOO,CAAC;IACV,CAAC;IAEDc,YAAY,EAAE,SAAAA,aAAUb,KAAK,EAAE;MAC7B,KAAK,IAAIC,KAAK,GAAG,EAAE,EAAET,CAAC,GAAG,CAAC,EAAEH,CAAC,GAAG,CAAC,EAAEG,CAAC,GAAGQ,KAAK,CAAChE,MAAM,EAAEwD,CAAC,EAAE,EAAEH,CAAC,IAAI,CAAC,EAC9DY,KAAK,CAACZ,CAAC,KAAK,CAAC,CAAC,IAAIW,KAAK,CAACR,CAAC,CAAC,IAAK,EAAE,GAAIH,CAAC,GAAG,EAAI;MAC/C,OAAOY,KAAK;IACd,CAAC;IAEDS,YAAY,EAAE,SAAAA,aAAUT,KAAK,EAAE;MAC7B,KAAK,IAAID,KAAK,GAAG,EAAE,EAAEX,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGY,KAAK,CAACjE,MAAM,GAAG,EAAE,EAAEqD,CAAC,IAAI,CAAC,EACvDW,KAAK,CAACuB,IAAI,CAAEtB,KAAK,CAACZ,CAAC,KAAK,CAAC,CAAC,KAAM,EAAE,GAAIA,CAAC,GAAG,EAAI,GAAI,IAAI,CAAC;MACzD,OAAOW,KAAK;IACd,CAAC;IAEDY,UAAU,EAAE,SAAAA,WAAUZ,KAAK,EAAE;MAC3B,KAAK,IAAIwB,GAAG,GAAG,EAAE,EAAEhC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGQ,KAAK,CAAChE,MAAM,EAAEwD,CAAC,EAAE,EAAE;QAC/CgC,GAAG,CAACD,IAAI,CAAC,CAACvB,KAAK,CAACR,CAAC,CAAC,KAAK,CAAC,EAAE0B,QAAQ,CAAC,EAAE,CAAC,CAAC;QACvCM,GAAG,CAACD,IAAI,CAAC,CAACvB,KAAK,CAACR,CAAC,CAAC,GAAG,GAAG,EAAE0B,QAAQ,CAAC,EAAE,CAAC,CAAC;MACzC;MACA,OAAOM,GAAG,CAACC,IAAI,CAAC,EAAE,CAAC;IACrB;EACF,CAAC;AACH"}
|
|
1
|
+
{"version":3,"file":"md5-wasm.js","names":["atb","atob","Buffer","nodeATOB","identity","wasmB64","wasm","WebAssembly","str2AB","buffer","crypt","makeCrypt","biteSize","bounder","Math","floor","upperLimit","parmTypeErrStr","tooBigErrStr","console","log","md5WASM","data","mem","memView","importObj","imports","len","buff","thenFun","catchFun","result","endTime","md5JS","makeMD5JS","md5WA","makeMD5WA","returnObj","startTime","Date","getTime","fun","getThen","constructor","Uint8Array","ArrayBuffer","getCatch","TypeError","length","Error","Memory","initial","Uint32Array","instantiate","then","giterdone","obj","instance","exports","r","res","Boolean","err","loop","loops","getA","setA","getB","setB","getC","setC","getD","setD","getX","setX","message","m00","m01","m02","m03","m04","m05","m06","m07","m08","m09","m10","m11","m12","m13","m14","m15","aa","bb","cc","dd","m","k","qwerty","md5Used","a","b","c","d","i","l","bytesToWordsNewer","____","endian","s","t","n","bytes","words","j","b0","b1","b2","b3","mView","options","digestbytes","wordsToBytes","asBytes","bytesToHex","bytesToWords","str","buffView","charCodeAt","from","toString","x","base64map","rotl","Number","push","hex","join"],"sources":["../../../../src/lib/algorithms/md5-wasm.ts"],"sourcesContent":["/* eslint-disable */\n// @ts-nocheck\n/* !\n * MD5 WebAssembly\n * https://github.com/briantbutton/md5-wasm\n * (c) 2020 Brian Todd Button\n * Released under the MIT license\n */\n\n// *-*=* *=*-* *-*=* *=*-* *-*=* *=*-* *-*=* *=*-* *-*=* *=*-* *-*=* *=*-*\n// This contains two functions designed to achieve the same thing\n// -> A WebAssembly function for larger files\n// -> A JavaScript function for the others\n//\nconst atb = typeof atob === 'function' ? atob : typeof Buffer === 'function' ? nodeATOB : identity,\n wasmB64 = atb(\n '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'\n ),\n wasm = WebAssembly && atb !== identity ? str2AB(wasmB64).buffer : false,\n crypt = makeCrypt(),\n biteSize = 240 * 16 * 16,\n bounder = Math.floor(biteSize * 16 * 1.066666667),\n upperLimit = 268435456 - 65536,\n parmTypeErrStr = 'Parameter must be Buffer, ArrayBuffer or Uint8Array',\n tooBigErrStr = 'Parameter exceeds max size of 255.9 Mbytes';\n\nif (!wasm) {\n console.log(\n 'WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript'\n );\n}\n\n// - - - - - - - - - - - - - - - - - - - - - - - - - - -\n// This returns a Promise-like object (I was farting around, so sue me)\n// which supports '.catch' and '.then'\nexport default function md5WASM(data) {\n var mem, memView, importObj, imports, len, buff, thenFun, catchFun, result, endTime;\n const md5JS = makeMD5JS(),\n md5WA = makeMD5WA(),\n returnObj = {},\n startTime = new Date().getTime();\n\n returnObj['then'] = function (fun) {\n thenFun = fun;\n getThen();\n return returnObj;\n };\n returnObj['catch'] = function (fun) {\n catchFun = fun;\n return returnObj;\n };\n\n // Sift the incoming parameter and the environment\n // If we are good, set buff\n if (true) {\n if (data && typeof data === 'object') {\n if (typeof Buffer === 'function' && data.constructor === Buffer) {\n buff = data;\n } else {\n if (data.constructor === Uint8Array || data.constructor === ArrayBuffer) {\n buff = data.constructor === ArrayBuffer ? new Uint8Array(data) : data;\n } else {\n getCatch(new TypeError(parmTypeErrStr));\n }\n }\n } else {\n getCatch(new TypeError(parmTypeErrStr));\n }\n }\n\n // - - - - - - - - - - - - - - - - - - - - - - - - - -\n // Make some choices based on the size of the incoming data\n // ~ Use WebAssembly or just JavaScript\n // ~ If Webassemly, allocate appropriate memory\n //\n if (buff) {\n len = buff.length;\n if (wasm && len > bounder) {\n if (len > upperLimit) {\n getCatch(new Error(tooBigErrStr));\n } else {\n mem = new WebAssembly.Memory({\n initial: len > 32000000 ? (len > 64000000 ? (len > 128000000 ? 4096 : 2048) : 1024) : 512\n });\n memView = new Uint32Array(mem.buffer);\n imports = {mem: mem, log: console.log};\n importObj = {imports};\n WebAssembly.instantiate(wasm, importObj).then(giterdone);\n }\n } else {\n getThen(md5JS(buff));\n }\n }\n return returnObj;\n\n function giterdone(obj) {\n getThen(md5WA(buff, obj.instance.exports, memView));\n }\n function getThen(r) {\n var res = Boolean(r) ? r : result;\n if (Boolean(r)) {\n endTime = new Date().getTime();\n }\n if (typeof thenFun === 'function') {\n if (Boolean(res)) {\n thenFun(res, endTime - startTime);\n thenFun = catchFun = null;\n }\n } else {\n if (Boolean(r)) {\n result = r;\n }\n }\n }\n function getCatch(err) {\n if (typeof catchFun === 'function') {\n catchFun(err);\n }\n }\n}\n\nfunction makeMD5WA() {\n var loop, loops;\n var getA, setA, getB, setB, getC, setC, getD, setD, getX, setX, memView;\n\n var md5WA = function (message) {\n var m00,\n m01,\n m02,\n m03,\n m04,\n m05,\n m06,\n m07,\n m08,\n m09,\n m10,\n m11,\n m12,\n m13,\n m14,\n m15,\n aa,\n bb,\n cc,\n dd,\n m,\n k;\n var qwerty = new Date().getTime();\n var md5Used = 0;\n\n var a = 1732584193,\n b = -271733879,\n c = -1732584194,\n d = 271733878,\n i = 0,\n l = message.length * 8,\n len;\n\n len = bytesToWordsNewer(message, memView);\n memView[l >>> 5] |= 0x80 << l % 32;\n memView[(((l + 64) >>> 9) << 4) + 14] = l;\n len = (((l + 64) >>> 9) << 4) + 15;\n m = memView;\n\n // console.log(\"first loop took \"+((new Date().getTime())-qwerty)+\"ms\");\n\n while (i < len) {\n if (len > i + bounder) {\n setA(a);\n setB(b);\n setC(c);\n setD(d);\n loops(biteSize);\n i = i + biteSize * 16;\n a = getA();\n b = getB();\n c = getC();\n d = getD();\n md5Used++;\n } else {\n aa = a;\n bb = b;\n cc = c;\n dd = d;\n m00 = m[i + 0] >>> 0;\n m01 = m[i + 1] >>> 0;\n m02 = m[i + 2] >>> 0;\n m03 = m[i + 3] >>> 0;\n m04 = m[i + 4] >>> 0;\n m05 = m[i + 5] >>> 0;\n m06 = m[i + 6] >>> 0;\n m07 = m[i + 7] >>> 0;\n m08 = m[i + 8] >>> 0;\n m09 = m[i + 9] >>> 0;\n m10 = m[i + 10] >>> 0;\n m11 = m[i + 11] >>> 0;\n m12 = m[i + 12] >>> 0;\n m13 = m[i + 13] >>> 0;\n m14 = m[i + 14] >>> 0;\n m15 = m[i + 15] >>> 0;\n\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m00 - 680876936) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m01 - 389564586) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m02 + 606105819) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m03 - 1044525330) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m04 - 176418897) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m05 + 1200080426) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m06 - 1473231341) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m07 - 45705983) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m08 + 1770035416) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m09 - 1958414417) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m10 - 42063) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m11 - 1990404162) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m12 + 1804603682) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m13 - 40341101) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m14 - 1502002290) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m15 + 1236535329) + c;\n\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m01 - 165796510) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m06 - 1069501632) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m11 + 643717713) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m00 - 373897302) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m05 - 701558691) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m10 + 38016083) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m15 - 660478335) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m04 - 405537848) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m09 + 568446438) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m14 - 1019803690) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m03 - 187363961) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m08 + 1163531501) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m13 - 1444681467) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m02 - 51403784) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m07 + 1735328473) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m12 - 1926607734) + c;\n\n a = ____(4, 28, a + (b ^ c ^ d) + m05 - 378558) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m08 - 2022574463) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m11 + 1839030562) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m14 - 35309556) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m01 - 1530992060) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m04 + 1272893353) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m07 - 155497632) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m10 - 1094730640) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m13 + 681279174) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m00 - 358537222) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m03 - 722521979) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m06 + 76029189) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m09 - 640364487) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m12 - 421815835) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m15 + 530742520) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m02 - 995338651) + c;\n\n a = ____(6, 26, a + (c ^ (b | ~d)) + m00 - 198630844) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m07 + 1126891415) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m14 - 1416354905) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m05 - 57434055) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m12 + 1700485571) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m03 - 1894986606) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m10 - 1051523) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m01 - 2054922799) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m08 + 1873313359) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m15 - 30611744) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m06 - 1560198380) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m13 + 1309151649) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m04 - 145523070) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m11 - 1120210379) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m02 + 718787259) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m09 - 343485551) + c;\n\n i = i + 16;\n a = (a + aa) >>> 0;\n b = (b + bb) >>> 0;\n c = (c + cc) >>> 0;\n d = (d + dd) >>> 0;\n }\n }\n\n // console.log(\"md5WA, elapsed=\"+((new Date().getTime())-qwerty)+(md5Used?\", WebAssembly called \"+md5Used+\" times\":\", WebAssembly not called\"));\n\n return crypt.endian([a, b, c, d]);\n\n function ____(s, t, n) {\n return (n << s) | (n >>> t);\n }\n\n // Convert a byte array to big-endian 32-bit words\n function bytesToWordsNewer(bytes, words) {\n var i = -1,\n l = Math.floor((bytes.length - 1) / 4),\n j = 0,\n b0,\n b1,\n b2,\n b3;\n while (l - 8 > i++) {\n j = i << 2;\n words[i] = bytes[j + 0] | (bytes[j + 1] << 8) | (bytes[j + 2] << 16) | (bytes[j + 3] << 24);\n }\n i--;\n while (l > i++) {\n j = i << 2;\n b0 = typeof bytes[j + 0] === 'undefined' ? 0 : bytes[j + 0];\n b1 = typeof bytes[j + 1] === 'undefined' ? 0 : bytes[j + 1];\n b2 = typeof bytes[j + 2] === 'undefined' ? 0 : bytes[j + 2];\n b3 = typeof bytes[j + 3] === 'undefined' ? 0 : bytes[j + 3];\n words[i] = b0 | (b1 << 8) | (b2 << 16) | (b3 << 24);\n }\n return l + 1;\n }\n };\n\n return function (message, exports, mView, options) {\n var digestbytes;\n loops = exports.loops;\n loop = exports.loop;\n getA = exports.getA;\n getB = exports.getB;\n getC = exports.getC;\n getD = exports.getD;\n getX = exports.getX;\n setA = exports.setA;\n setB = exports.setB;\n setC = exports.setC;\n setD = exports.setD;\n setX = exports.setX;\n memView = mView;\n digestbytes = crypt.wordsToBytes(md5WA(message));\n return options && options.asBytes ? digestbytes : crypt.bytesToHex(digestbytes);\n };\n}\n\nfunction makeMD5JS() {\n var md5JS = function (message, options) {\n var m00,\n m01,\n m02,\n m03,\n m04,\n m05,\n m06,\n m07,\n m08,\n m09,\n m10,\n m11,\n m12,\n m13,\n m14,\n m15,\n aa,\n bb,\n cc,\n dd,\n m;\n var qwerty = new Date().getTime();\n\n // console.log(\"md5 start\");\n\n var a = 1732584193,\n b = -271733879,\n c = -1732584194,\n d = 271733878,\n l = message.length * 8;\n\n m = crypt.bytesToWords(message);\n\n // Swap endian\n for (var j = 0; j < m.length; j++) {\n m[j] =\n (((m[j] << 8) | (m[j] >>> 24)) & 0x00ff00ff) | (((m[j] << 24) | (m[j] >>> 8)) & 0xff00ff00);\n }\n\n // Padding\n m[l >>> 5] |= 0x80 << l % 32;\n m[(((l + 64) >>> 9) << 4) + 14] = l;\n\n for (var i = 0; i < m.length; i += 16) {\n aa = a;\n bb = b;\n cc = c;\n dd = d;\n m00 = m[i + 0] >>> 0;\n m01 = m[i + 1] >>> 0;\n m02 = m[i + 2] >>> 0;\n m03 = m[i + 3] >>> 0;\n m04 = m[i + 4] >>> 0;\n m05 = m[i + 5] >>> 0;\n m06 = m[i + 6] >>> 0;\n m07 = m[i + 7] >>> 0;\n m08 = m[i + 8] >>> 0;\n m09 = m[i + 9] >>> 0;\n m10 = m[i + 10] >>> 0;\n m11 = m[i + 11] >>> 0;\n m12 = m[i + 12] >>> 0;\n m13 = m[i + 13] >>> 0;\n m14 = m[i + 14] >>> 0;\n m15 = m[i + 15] >>> 0;\n\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m00 - 680876936) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m01 - 389564586) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m02 + 606105819) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m03 - 1044525330) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m04 - 176418897) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m05 + 1200080426) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m06 - 1473231341) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m07 - 45705983) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m08 + 1770035416) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m09 - 1958414417) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m10 - 42063) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m11 - 1990404162) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m12 + 1804603682) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m13 - 40341101) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m14 - 1502002290) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m15 + 1236535329) + c;\n\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m01 - 165796510) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m06 - 1069501632) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m11 + 643717713) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m00 - 373897302) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m05 - 701558691) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m10 + 38016083) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m15 - 660478335) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m04 - 405537848) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m09 + 568446438) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m14 - 1019803690) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m03 - 187363961) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m08 + 1163531501) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m13 - 1444681467) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m02 - 51403784) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m07 + 1735328473) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m12 - 1926607734) + c;\n\n a = ____(4, 28, a + (b ^ c ^ d) + m05 - 378558) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m08 - 2022574463) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m11 + 1839030562) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m14 - 35309556) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m01 - 1530992060) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m04 + 1272893353) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m07 - 155497632) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m10 - 1094730640) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m13 + 681279174) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m00 - 358537222) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m03 - 722521979) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m06 + 76029189) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m09 - 640364487) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m12 - 421815835) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m15 + 530742520) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m02 - 995338651) + c;\n\n a = ____(6, 26, a + (c ^ (b | ~d)) + m00 - 198630844) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m07 + 1126891415) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m14 - 1416354905) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m05 - 57434055) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m12 + 1700485571) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m03 - 1894986606) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m10 - 1051523) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m01 - 2054922799) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m08 + 1873313359) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m15 - 30611744) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m06 - 1560198380) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m13 + 1309151649) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m04 - 145523070) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m11 - 1120210379) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m02 + 718787259) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m09 - 343485551) + c;\n\n a = (a + aa) >>> 0;\n b = (b + bb) >>> 0;\n c = (c + cc) >>> 0;\n d = (d + dd) >>> 0;\n }\n\n // console.log(\"md5JS, elapsed=\"+((new Date().getTime())-qwerty));\n\n return crypt.endian([a, b, c, d]);\n\n function ____(s, t, n) {\n return (n << s) | (n >>> t);\n }\n };\n\n return function (message, options) {\n var digestbytes = crypt.wordsToBytes(md5JS(message, options)),\n result = options && options.asBytes ? digestbytes : crypt.bytesToHex(digestbytes);\n return result;\n };\n}\nfunction str2AB(str) {\n var l,\n buff,\n buffView,\n i = -1;\n l = str.length - 1;\n buff = new ArrayBuffer(str.length);\n buffView = new Uint8Array(buff);\n while (l > i++) {\n buffView[i] = str.charCodeAt(i);\n }\n return buffView;\n}\nfunction nodeATOB(str) {\n return Buffer.from(str, 'base64').toString('binary');\n}\nfunction identity(x) {\n return x;\n}\n\nfunction makeCrypt() {\n var base64map = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n return {\n rotl: function (n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n endian: function (n) {\n if (n.constructor == Number) {\n return (crypt.rotl(n, 8) & 0x00ff00ff) | (crypt.rotl(n, 24) & 0xff00ff00);\n }\n for (var i = 0; i < n.length; i++) n[i] = crypt.endian(n[i]);\n return n;\n },\n\n bytesToWords: function (bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - (b % 32));\n return words;\n },\n\n wordsToBytes: function (words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - (b % 32))) & 0xff);\n return bytes;\n },\n\n bytesToHex: function (bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xf).toString(16));\n }\n return hex.join('');\n }\n };\n}\n"],"mappings":"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"}
|
|
@@ -5,146 +5,47 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.CRC32Hash = void 0;
|
|
8
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
13
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
15
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
16
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
|
-
var
|
|
18
|
-
var _wrapAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapAsyncGenerator"));
|
|
19
|
-
var _hash2 = require("./hash");
|
|
9
|
+
var _hash = require("./hash");
|
|
20
10
|
var _crc = _interopRequireDefault(require("./algorithms/crc32"));
|
|
21
11
|
var _digestUtils = require("./utils/digest-utils");
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
_this2 = _super.call(this);
|
|
36
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "name", 'crc32');
|
|
37
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "options", void 0);
|
|
38
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "_hash", void 0);
|
|
39
|
-
_this2.options = _objectSpread({
|
|
40
|
-
crypto: {}
|
|
41
|
-
}, options);
|
|
42
|
-
_this2._hash = new _crc.default();
|
|
43
|
-
_this2.hashBatches = _this2.hashBatches.bind((0, _assertThisInitialized2.default)(_this2));
|
|
44
|
-
return _this2;
|
|
12
|
+
class CRC32Hash extends _hash.Hash {
|
|
13
|
+
constructor() {
|
|
14
|
+
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
15
|
+
super();
|
|
16
|
+
(0, _defineProperty2.default)(this, "name", 'crc32');
|
|
17
|
+
(0, _defineProperty2.default)(this, "options", void 0);
|
|
18
|
+
(0, _defineProperty2.default)(this, "_hash", void 0);
|
|
19
|
+
this.options = {
|
|
20
|
+
crypto: {},
|
|
21
|
+
...options
|
|
22
|
+
};
|
|
23
|
+
this._hash = new _crc.default();
|
|
24
|
+
this.hashBatches = this.hashBatches.bind(this);
|
|
45
25
|
}
|
|
46
|
-
(
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
return _hash.apply(this, arguments);
|
|
62
|
-
}
|
|
63
|
-
return hash;
|
|
64
|
-
}()
|
|
65
|
-
}, {
|
|
66
|
-
key: "hashSync",
|
|
67
|
-
value: function hashSync(input) {
|
|
68
|
-
this._hash.update(input);
|
|
69
|
-
var hashValue = this._hash.finalize();
|
|
70
|
-
var hex = (0, _digestUtils.toHex)(hashValue);
|
|
71
|
-
var hash = (0, _digestUtils.hexToBase64)(hex);
|
|
72
|
-
return hash;
|
|
73
|
-
}
|
|
74
|
-
}, {
|
|
75
|
-
key: "hashBatches",
|
|
76
|
-
value: function hashBatches(asyncIterator) {
|
|
77
|
-
var _this = this;
|
|
78
|
-
return (0, _wrapAsyncGenerator2.default)(_regenerator.default.mark(function _callee2() {
|
|
79
|
-
var _this$options$crypto, _this$options$crypto$;
|
|
80
|
-
var _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, chunk, hashValue, hex, hash;
|
|
81
|
-
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
82
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
83
|
-
case 0:
|
|
84
|
-
_iteratorAbruptCompletion = false;
|
|
85
|
-
_didIteratorError = false;
|
|
86
|
-
_context2.prev = 2;
|
|
87
|
-
_iterator = _asyncIterator(asyncIterator);
|
|
88
|
-
case 4:
|
|
89
|
-
_context2.next = 6;
|
|
90
|
-
return (0, _awaitAsyncGenerator2.default)(_iterator.next());
|
|
91
|
-
case 6:
|
|
92
|
-
if (!(_iteratorAbruptCompletion = !(_step = _context2.sent).done)) {
|
|
93
|
-
_context2.next = 14;
|
|
94
|
-
break;
|
|
95
|
-
}
|
|
96
|
-
chunk = _step.value;
|
|
97
|
-
_this._hash.update(chunk);
|
|
98
|
-
_context2.next = 11;
|
|
99
|
-
return chunk;
|
|
100
|
-
case 11:
|
|
101
|
-
_iteratorAbruptCompletion = false;
|
|
102
|
-
_context2.next = 4;
|
|
103
|
-
break;
|
|
104
|
-
case 14:
|
|
105
|
-
_context2.next = 20;
|
|
106
|
-
break;
|
|
107
|
-
case 16:
|
|
108
|
-
_context2.prev = 16;
|
|
109
|
-
_context2.t0 = _context2["catch"](2);
|
|
110
|
-
_didIteratorError = true;
|
|
111
|
-
_iteratorError = _context2.t0;
|
|
112
|
-
case 20:
|
|
113
|
-
_context2.prev = 20;
|
|
114
|
-
_context2.prev = 21;
|
|
115
|
-
if (!(_iteratorAbruptCompletion && _iterator.return != null)) {
|
|
116
|
-
_context2.next = 25;
|
|
117
|
-
break;
|
|
118
|
-
}
|
|
119
|
-
_context2.next = 25;
|
|
120
|
-
return (0, _awaitAsyncGenerator2.default)(_iterator.return());
|
|
121
|
-
case 25:
|
|
122
|
-
_context2.prev = 25;
|
|
123
|
-
if (!_didIteratorError) {
|
|
124
|
-
_context2.next = 28;
|
|
125
|
-
break;
|
|
126
|
-
}
|
|
127
|
-
throw _iteratorError;
|
|
128
|
-
case 28:
|
|
129
|
-
return _context2.finish(25);
|
|
130
|
-
case 29:
|
|
131
|
-
return _context2.finish(20);
|
|
132
|
-
case 30:
|
|
133
|
-
hashValue = _this._hash.finalize();
|
|
134
|
-
hex = (0, _digestUtils.toHex)(hashValue);
|
|
135
|
-
hash = (0, _digestUtils.hexToBase64)(hex);
|
|
136
|
-
(_this$options$crypto = _this.options.crypto) === null || _this$options$crypto === void 0 ? void 0 : (_this$options$crypto$ = _this$options$crypto.onEnd) === null || _this$options$crypto$ === void 0 ? void 0 : _this$options$crypto$.call(_this$options$crypto, {
|
|
137
|
-
hash: hash
|
|
138
|
-
});
|
|
139
|
-
case 34:
|
|
140
|
-
case "end":
|
|
141
|
-
return _context2.stop();
|
|
142
|
-
}
|
|
143
|
-
}, _callee2, null, [[2, 16, 20, 30], [21,, 25, 29]]);
|
|
144
|
-
}))();
|
|
26
|
+
async hash(input) {
|
|
27
|
+
return this.hashSync(input);
|
|
28
|
+
}
|
|
29
|
+
hashSync(input) {
|
|
30
|
+
this._hash.update(input);
|
|
31
|
+
const hashValue = this._hash.finalize();
|
|
32
|
+
const hex = (0, _digestUtils.toHex)(hashValue);
|
|
33
|
+
const hash = (0, _digestUtils.hexToBase64)(hex);
|
|
34
|
+
return hash;
|
|
35
|
+
}
|
|
36
|
+
async *hashBatches(asyncIterator) {
|
|
37
|
+
var _this$options$crypto, _this$options$crypto$;
|
|
38
|
+
for await (const chunk of asyncIterator) {
|
|
39
|
+
this._hash.update(chunk);
|
|
40
|
+
yield chunk;
|
|
145
41
|
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
42
|
+
const hashValue = this._hash.finalize();
|
|
43
|
+
const hex = (0, _digestUtils.toHex)(hashValue);
|
|
44
|
+
const hash = (0, _digestUtils.hexToBase64)(hex);
|
|
45
|
+
(_this$options$crypto = this.options.crypto) === null || _this$options$crypto === void 0 ? void 0 : (_this$options$crypto$ = _this$options$crypto.onEnd) === null || _this$options$crypto$ === void 0 ? void 0 : _this$options$crypto$.call(_this$options$crypto, {
|
|
46
|
+
hash
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
149
50
|
exports.CRC32Hash = CRC32Hash;
|
|
150
51
|
//# sourceMappingURL=crc32-hash.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crc32-hash.js","names":["
|
|
1
|
+
{"version":3,"file":"crc32-hash.js","names":["_hash","require","_crc","_interopRequireDefault","_digestUtils","CRC32Hash","Hash","constructor","options","arguments","length","undefined","_defineProperty2","default","crypto","CRC32","hashBatches","bind","hash","input","hashSync","update","hashValue","finalize","hex","toHex","hexToBase64","asyncIterator","_this$options$crypto","_this$options$crypto$","chunk","onEnd","call","exports"],"sources":["../../../src/lib/crc32-hash.ts"],"sourcesContent":["// CRC32\nimport {Hash} from './hash';\nimport CRC32 from './algorithms/crc32';\nimport {toHex, hexToBase64} from './utils/digest-utils';\n\n/**\n * Calculates CRC32 Cryptographic Hash\n */\nexport class CRC32Hash extends Hash {\n readonly name = 'crc32';\n\n options;\n private _hash: CRC32;\n\n constructor(options = {}) {\n super();\n this.options = {crypto: {}, ...options};\n this._hash = new CRC32();\n this.hashBatches = this.hashBatches.bind(this);\n }\n\n /**\n * Atomic hash calculation\n * @returns base64 encoded hash\n */\n async hash(input: ArrayBuffer): Promise<string> {\n return this.hashSync(input);\n }\n\n hashSync(input: ArrayBuffer): string {\n this._hash.update(input);\n const hashValue = this._hash.finalize();\n const hex = toHex(hashValue);\n const hash = hexToBase64(hex);\n return hash;\n }\n\n async *hashBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n ): AsyncIterable<ArrayBuffer> {\n for await (const chunk of asyncIterator) {\n this._hash.update(chunk);\n yield chunk;\n }\n const hashValue = this._hash.finalize();\n const hex = toHex(hashValue);\n const hash = hexToBase64(hex);\n this.options.crypto?.onEnd?.({hash});\n }\n}\n"],"mappings":";;;;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,IAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAKO,MAAMI,SAAS,SAASC,UAAI,CAAC;EAMlCC,WAAWA,CAAA,EAAe;IAAA,IAAdC,OAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IACtB,KAAK,CAAC,CAAC;IAAC,IAAAG,gBAAA,CAAAC,OAAA,gBANM,OAAO;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAOrB,IAAI,CAACL,OAAO,GAAG;MAACM,MAAM,EAAE,CAAC,CAAC;MAAE,GAAGN;IAAO,CAAC;IACvC,IAAI,CAACR,KAAK,GAAG,IAAIe,YAAK,CAAC,CAAC;IACxB,IAAI,CAACC,WAAW,GAAG,IAAI,CAACA,WAAW,CAACC,IAAI,CAAC,IAAI,CAAC;EAChD;EAMA,MAAMC,IAAIA,CAACC,KAAkB,EAAmB;IAC9C,OAAO,IAAI,CAACC,QAAQ,CAACD,KAAK,CAAC;EAC7B;EAEAC,QAAQA,CAACD,KAAkB,EAAU;IACnC,IAAI,CAACnB,KAAK,CAACqB,MAAM,CAACF,KAAK,CAAC;IACxB,MAAMG,SAAS,GAAG,IAAI,CAACtB,KAAK,CAACuB,QAAQ,CAAC,CAAC;IACvC,MAAMC,GAAG,GAAG,IAAAC,kBAAK,EAACH,SAAS,CAAC;IAC5B,MAAMJ,IAAI,GAAG,IAAAQ,wBAAW,EAACF,GAAG,CAAC;IAC7B,OAAON,IAAI;EACb;EAEA,OAAOF,WAAWA,CAChBW,aAAiE,EACrC;IAAA,IAAAC,oBAAA,EAAAC,qBAAA;IAC5B,WAAW,MAAMC,KAAK,IAAIH,aAAa,EAAE;MACvC,IAAI,CAAC3B,KAAK,CAACqB,MAAM,CAACS,KAAK,CAAC;MACxB,MAAMA,KAAK;IACb;IACA,MAAMR,SAAS,GAAG,IAAI,CAACtB,KAAK,CAACuB,QAAQ,CAAC,CAAC;IACvC,MAAMC,GAAG,GAAG,IAAAC,kBAAK,EAACH,SAAS,CAAC;IAC5B,MAAMJ,IAAI,GAAG,IAAAQ,wBAAW,EAACF,GAAG,CAAC;IAC7B,CAAAI,oBAAA,OAAI,CAACpB,OAAO,CAACM,MAAM,cAAAc,oBAAA,wBAAAC,qBAAA,GAAnBD,oBAAA,CAAqBG,KAAK,cAAAF,qBAAA,uBAA1BA,qBAAA,CAAAG,IAAA,CAAAJ,oBAAA,EAA6B;MAACV;IAAI,CAAC,CAAC;EACtC;AACF;AAACe,OAAA,CAAA5B,SAAA,GAAAA,SAAA"}
|