@ghostlytools/cli 1.1.2 → 1.1.4
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/README.md +6 -6
- package/SKILL.md +1 -1
- package/dist/assets/argon2id-088uQfnH.js.map +1 -1
- package/dist/assets/bark_ffi_wasm_bg-EY2uc0Bx.js.map +1 -1
- package/dist/assets/bitcoindevkit_bg-B-iLWrmX.js.map +1 -1
- package/dist/assets/breez_sdk_spark_wasm_bg.wasm +0 -0
- package/dist/assets/fedimint_client_wasm_bg-BtHHlFpp.js.map +1 -1
- package/dist/assets/{hyperdhtRelay-CVLCuqVr.js → hyperdhtRelay-BoxPHp7v.js} +3 -3
- package/dist/assets/{hyperdhtRelay-CVLCuqVr.js.map → hyperdhtRelay-BoxPHp7v.js.map} +1 -1
- package/dist/assets/legacy_ciphers-JJOu0JXL.js.map +1 -1
- package/dist/assets/{mainline-CKFpwXcB.js → mainline-dkA94eh2.js} +2 -2
- package/dist/assets/{mainline-CKFpwXcB.js.map → mainline-dkA94eh2.js.map} +1 -1
- package/dist/assets/nacl-fast-CDhNCYHs.js.map +1 -1
- package/dist/assets/noble_curves-DDWn5AH0.js.map +1 -1
- package/dist/assets/noble_hashes-B7AZyFyS.js.map +1 -1
- package/dist/assets/openpgp-BBFr-zHQ.js.map +1 -1
- package/dist/assets/{server-vGoe9MET.js → server-CXFTDnFI.js} +285 -99
- package/dist/assets/server-CXFTDnFI.js.map +1 -0
- package/dist/assets/sha512-BYId-G-T.js.map +1 -1
- package/dist/assets/{src-CJdPTl7Q.js → src-K3NijMq-.js} +455 -87
- package/dist/assets/src-K3NijMq-.js.map +1 -0
- package/dist/assets/storage-Bya5b2Xt.js.map +1 -1
- package/dist/assets/tree-store-N362nuzZ.js.map +1 -1
- package/dist/assets/unbzip2-stream-B1C-JX9L.js.map +1 -1
- package/dist/assets/{web-OUQl4Q7L.js → web-DwgdhfcY.js} +16 -16
- package/dist/assets/{web-OUQl4Q7L.js.map → web-DwgdhfcY.js.map} +1 -1
- package/dist/ghostly.mjs +55 -40
- package/dist/ghostly.mjs.map +1 -1
- package/examples/call-echo.mjs +1 -1
- package/package.json +7 -7
- package/dist/assets/server-vGoe9MET.js.map +0 -1
- package/dist/assets/src-CJdPTl7Q.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noble_hashes-B7AZyFyS.js","names":[],"sources":["../../../../node_modules/openpgp/dist/lightweight/noble_hashes.mjs"],"sourcesContent":["/*! OpenPGP.js v6.3.2 - 2026-09-24 - this is LGPL licensed code, see LICENSE/our website https://openpgpjs.org/ for more information. */\nconst globalThis = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nimport { i as createHasher, a as HashMD, l as rotl, g as clean, C as Chi$1, M as Maj, y as wrapConstructor, t as sha3_512, q as sha3_256, v as sha512, p as sha384, n as sha256, s as sha224 } from './sha512.mjs';\n\n/**\n\nSHA1 (RFC 3174), MD5 (RFC 1321) and RIPEMD160 (RFC 2286) legacy, weak hash functions.\nDon't use them in a new protocol. What \"weak\" means:\n\n- Collisions can be made with 2^18 effort in MD5, 2^60 in SHA1, 2^80 in RIPEMD160.\n- No practical pre-image attacks (only theoretical, 2^123.4)\n- HMAC seems kinda ok: https://datatracker.ietf.org/doc/html/rfc6151\n * @module\n */\n/** Initial SHA1 state */\nconst SHA1_IV = /* @__PURE__ */ Uint32Array.from([\n 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0,\n]);\n// Reusable temporary buffer\nconst SHA1_W = /* @__PURE__ */ new Uint32Array(80);\n/** SHA1 legacy hash class. */\nclass SHA1 extends HashMD {\n constructor() {\n super(64, 20, 8, false);\n this.A = SHA1_IV[0] | 0;\n this.B = SHA1_IV[1] | 0;\n this.C = SHA1_IV[2] | 0;\n this.D = SHA1_IV[3] | 0;\n this.E = SHA1_IV[4] | 0;\n }\n get() {\n const { A, B, C, D, E } = this;\n return [A, B, C, D, E];\n }\n set(A, B, C, D, E) {\n this.A = A | 0;\n this.B = B | 0;\n this.C = C | 0;\n this.D = D | 0;\n this.E = E | 0;\n }\n process(view, offset) {\n for (let i = 0; i < 16; i++, offset += 4)\n SHA1_W[i] = view.getUint32(offset, false);\n for (let i = 16; i < 80; i++)\n SHA1_W[i] = rotl(SHA1_W[i - 3] ^ SHA1_W[i - 8] ^ SHA1_W[i - 14] ^ SHA1_W[i - 16], 1);\n // Compression function main loop, 80 rounds\n let { A, B, C, D, E } = this;\n for (let i = 0; i < 80; i++) {\n let F, K;\n if (i < 20) {\n F = Chi$1(B, C, D);\n K = 0x5a827999;\n }\n else if (i < 40) {\n F = B ^ C ^ D;\n K = 0x6ed9eba1;\n }\n else if (i < 60) {\n F = Maj(B, C, D);\n K = 0x8f1bbcdc;\n }\n else {\n F = B ^ C ^ D;\n K = 0xca62c1d6;\n }\n const T = (rotl(A, 5) + F + E + K + SHA1_W[i]) | 0;\n E = D;\n D = C;\n C = rotl(B, 30);\n B = A;\n A = T;\n }\n // Add the compressed chunk to the current hash value\n A = (A + this.A) | 0;\n B = (B + this.B) | 0;\n C = (C + this.C) | 0;\n D = (D + this.D) | 0;\n E = (E + this.E) | 0;\n this.set(A, B, C, D, E);\n }\n roundClean() {\n clean(SHA1_W);\n }\n destroy() {\n this.set(0, 0, 0, 0, 0);\n clean(this.buffer);\n }\n}\n/** SHA1 (RFC 3174) legacy hash function. It was cryptographically broken. */\nconst sha1$1 = /* @__PURE__ */ createHasher(() => new SHA1());\n// RIPEMD-160\nconst Rho160 = /* @__PURE__ */ Uint8Array.from([\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n]);\nconst Id160 = /* @__PURE__ */ (() => Uint8Array.from(new Array(16).fill(0).map((_, i) => i)))();\nconst Pi160 = /* @__PURE__ */ (() => Id160.map((i) => (9 * i + 5) % 16))();\nconst idxLR = /* @__PURE__ */ (() => {\n const L = [Id160];\n const R = [Pi160];\n const res = [L, R];\n for (let i = 0; i < 4; i++)\n for (let j of res)\n j.push(j[i].map((k) => Rho160[k]));\n return res;\n})();\nconst idxL = /* @__PURE__ */ (() => idxLR[0])();\nconst idxR = /* @__PURE__ */ (() => idxLR[1])();\n// const [idxL, idxR] = idxLR;\nconst shifts160 = /* @__PURE__ */ [\n [11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8],\n [12, 13, 11, 15, 6, 9, 9, 7, 12, 15, 11, 13, 7, 8, 7, 7],\n [13, 15, 14, 11, 7, 7, 6, 8, 13, 14, 13, 12, 5, 5, 6, 9],\n [14, 11, 12, 14, 8, 6, 5, 5, 15, 12, 15, 14, 9, 9, 8, 6],\n [15, 12, 13, 13, 9, 5, 8, 6, 14, 11, 12, 11, 8, 6, 5, 5],\n].map((i) => Uint8Array.from(i));\nconst shiftsL160 = /* @__PURE__ */ idxL.map((idx, i) => idx.map((j) => shifts160[i][j]));\nconst shiftsR160 = /* @__PURE__ */ idxR.map((idx, i) => idx.map((j) => shifts160[i][j]));\nconst Kl160 = /* @__PURE__ */ Uint32Array.from([\n 0x00000000, 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xa953fd4e,\n]);\nconst Kr160 = /* @__PURE__ */ Uint32Array.from([\n 0x50a28be6, 0x5c4dd124, 0x6d703ef3, 0x7a6d76e9, 0x00000000,\n]);\n// It's called f() in spec.\nfunction ripemd_f(group, x, y, z) {\n if (group === 0)\n return x ^ y ^ z;\n if (group === 1)\n return (x & y) | (~x & z);\n if (group === 2)\n return (x | ~y) ^ z;\n if (group === 3)\n return (x & z) | (y & ~z);\n return x ^ (y | ~z);\n}\n// Reusable temporary buffer\nconst BUF_160 = /* @__PURE__ */ new Uint32Array(16);\nclass RIPEMD160 extends HashMD {\n constructor() {\n super(64, 20, 8, true);\n this.h0 = 0x67452301 | 0;\n this.h1 = 0xefcdab89 | 0;\n this.h2 = 0x98badcfe | 0;\n this.h3 = 0x10325476 | 0;\n this.h4 = 0xc3d2e1f0 | 0;\n }\n get() {\n const { h0, h1, h2, h3, h4 } = this;\n return [h0, h1, h2, h3, h4];\n }\n set(h0, h1, h2, h3, h4) {\n this.h0 = h0 | 0;\n this.h1 = h1 | 0;\n this.h2 = h2 | 0;\n this.h3 = h3 | 0;\n this.h4 = h4 | 0;\n }\n process(view, offset) {\n for (let i = 0; i < 16; i++, offset += 4)\n BUF_160[i] = view.getUint32(offset, true);\n // prettier-ignore\n let al = this.h0 | 0, ar = al, bl = this.h1 | 0, br = bl, cl = this.h2 | 0, cr = cl, dl = this.h3 | 0, dr = dl, el = this.h4 | 0, er = el;\n // Instead of iterating 0 to 80, we split it into 5 groups\n // And use the groups in constants, functions, etc. Much simpler\n for (let group = 0; group < 5; group++) {\n const rGroup = 4 - group;\n const hbl = Kl160[group], hbr = Kr160[group]; // prettier-ignore\n const rl = idxL[group], rr = idxR[group]; // prettier-ignore\n const sl = shiftsL160[group], sr = shiftsR160[group]; // prettier-ignore\n for (let i = 0; i < 16; i++) {\n const tl = (rotl(al + ripemd_f(group, bl, cl, dl) + BUF_160[rl[i]] + hbl, sl[i]) + el) | 0;\n al = el, el = dl, dl = rotl(cl, 10) | 0, cl = bl, bl = tl; // prettier-ignore\n }\n // 2 loops are 10% faster\n for (let i = 0; i < 16; i++) {\n const tr = (rotl(ar + ripemd_f(rGroup, br, cr, dr) + BUF_160[rr[i]] + hbr, sr[i]) + er) | 0;\n ar = er, er = dr, dr = rotl(cr, 10) | 0, cr = br, br = tr; // prettier-ignore\n }\n }\n // Add the compressed chunk to the current hash value\n this.set((this.h1 + cl + dr) | 0, (this.h2 + dl + er) | 0, (this.h3 + el + ar) | 0, (this.h4 + al + br) | 0, (this.h0 + bl + cr) | 0);\n }\n roundClean() {\n clean(BUF_160);\n }\n destroy() {\n this.destroyed = true;\n clean(this.buffer);\n this.set(0, 0, 0, 0, 0);\n }\n}\n/**\n * RIPEMD-160 - a legacy hash function from 1990s.\n * * https://homes.esat.kuleuven.be/~bosselae/ripemd160.html\n * * https://homes.esat.kuleuven.be/~bosselae/ripemd160/pdf/AB-9601/AB-9601.pdf\n */\nconst ripemd160$1 = /* @__PURE__ */ createHasher(() => new RIPEMD160());\n\n/**\n * SHA1 (RFC 3174) legacy hash function.\n * @module\n * @deprecated\n */\n/** @deprecated Use import from `noble/hashes/legacy` module */\nconst sha1 = sha1$1;\n\n/**\n * RIPEMD-160 legacy hash function.\n * https://homes.esat.kuleuven.be/~bosselae/ripemd160.html\n * https://homes.esat.kuleuven.be/~bosselae/ripemd160/pdf/AB-9601/AB-9601.pdf\n * @module\n * @deprecated\n */\n/** @deprecated Use import from `noble/hashes/legacy` module */\nconst ripemd160 = ripemd160$1;\n\n/** @access private */\n// Copied from https://github.com/paulmillr/noble-hashes/blob/main/test/misc/md5.ts\n// Per-round constants\nconst K = Array.from({ length: 64 }, (_, i) => Math.floor(2 ** 32 * Math.abs(Math.sin(i + 1))));\n// Choice: a ? b : c\nconst Chi = (a, b, c) => (a & b) ^ (~a & c);\n// Initial state (same as sha1, but 4 u32 instead of 5)\nconst IV = /* @__PURE__ */ new Uint32Array([0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476]);\n// Temporary buffer, not used to store anything between runs\n// Named this way for SHA1 compat\nconst MD5_W = /* @__PURE__ */ new Uint32Array(16);\nclass MD5 extends HashMD {\n constructor() {\n super(64, 16, 8, true);\n this.A = IV[0] | 0;\n this.B = IV[1] | 0;\n this.C = IV[2] | 0;\n this.D = IV[3] | 0;\n }\n get() {\n const { A, B, C, D } = this;\n return [A, B, C, D];\n }\n set(A, B, C, D) {\n this.A = A | 0;\n this.B = B | 0;\n this.C = C | 0;\n this.D = D | 0;\n }\n process(view, offset) {\n for (let i = 0; i < 16; i++, offset += 4)\n MD5_W[i] = view.getUint32(offset, true);\n // Compression function main loop, 64 rounds\n let { A, B, C, D } = this;\n for (let i = 0; i < 64; i++) {\n let F, g, s;\n if (i < 16) {\n F = Chi(B, C, D);\n g = i;\n s = [7, 12, 17, 22];\n }\n else if (i < 32) {\n F = Chi(D, B, C);\n g = (5 * i + 1) % 16;\n s = [5, 9, 14, 20];\n }\n else if (i < 48) {\n F = B ^ C ^ D;\n g = (3 * i + 5) % 16;\n s = [4, 11, 16, 23];\n }\n else {\n F = C ^ (B | ~D);\n g = (7 * i) % 16;\n s = [6, 10, 15, 21];\n }\n F = F + A + K[i] + MD5_W[g];\n A = D;\n D = C;\n C = B;\n B = B + rotl(F, s[i % 4]);\n }\n // Add the compressed chunk to the current hash value\n A = (A + this.A) | 0;\n B = (B + this.B) | 0;\n C = (C + this.C) | 0;\n D = (D + this.D) | 0;\n this.set(A, B, C, D);\n }\n roundClean() {\n MD5_W.fill(0);\n }\n destroy() {\n this.set(0, 0, 0, 0);\n this.buffer.fill(0);\n }\n}\nconst md5 = /* @__PURE__ */ wrapConstructor(() => new MD5());\n\n/**\n * @access private\n * This file is needed to dynamic import the noble-hashes.\n * Separate dynamic imports are not convenient as they result in too many chunks,\n * which share a lot of code anyway.\n */\nconst nobleHashes = new Map(Object.entries({\n md5,\n sha1,\n sha224,\n sha256,\n sha384,\n sha512,\n sha3_256,\n sha3_512,\n ripemd160\n}));\n\nexport { nobleHashes };\n"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;;;;;AAgBA,IAAM,UAA0B,4BAAY,KAAK;CAC7C;CAAY;CAAY;CAAY;CAAY;AACpD,CAAC;AAED,IAAM,yBAAyB,IAAI,YAAY,EAAE;;AAEjD,IAAM,OAAN,cAAmB,OAAO;CACtB,cAAc;EACV,MAAM,IAAI,IAAI,GAAG,KAAK;EACtB,KAAK,IAAI,QAAQ,KAAK;EACtB,KAAK,IAAI,QAAQ,KAAK;EACtB,KAAK,IAAI,QAAQ,KAAK;EACtB,KAAK,IAAI,QAAQ,KAAK;EACtB,KAAK,IAAI,QAAQ,KAAK;CAC1B;CACA,MAAM;EACF,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,MAAM;EAC1B,OAAO;GAAC;GAAG;GAAG;GAAG;GAAG;EAAC;CACzB;CACA,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG;EACf,KAAK,IAAI,IAAI;EACb,KAAK,IAAI,IAAI;EACb,KAAK,IAAI,IAAI;EACb,KAAK,IAAI,IAAI;EACb,KAAK,IAAI,IAAI;CACjB;CACA,QAAQ,MAAM,QAAQ;EAClB,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,KAAK,UAAU,GACnC,OAAO,KAAK,KAAK,UAAU,QAAQ,KAAK;EAC5C,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KACrB,OAAO,KAAK,KAAK,OAAO,IAAI,KAAK,OAAO,IAAI,KAAK,OAAO,IAAI,MAAM,OAAO,IAAI,KAAK,CAAC;EAEvF,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,MAAM;EACxB,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,KAAK;GACzB,IAAI,GAAG;GACP,IAAI,IAAI,IAAI;IACR,IAAI,MAAM,GAAG,GAAG,CAAC;IACjB,IAAI;GACR,OACK,IAAI,IAAI,IAAI;IACb,IAAI,IAAI,IAAI;IACZ,IAAI;GACR,OACK,IAAI,IAAI,IAAI;IACb,IAAI,IAAI,GAAG,GAAG,CAAC;IACf,IAAI;GACR,OACK;IACD,IAAI,IAAI,IAAI;IACZ,IAAI;GACR;GACA,MAAM,IAAK,KAAK,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,OAAO,KAAM;GACjD,IAAI;GACJ,IAAI;GACJ,IAAI,KAAK,GAAG,EAAE;GACd,IAAI;GACJ,IAAI;EACR;EAEA,IAAK,IAAI,KAAK,IAAK;EACnB,IAAK,IAAI,KAAK,IAAK;EACnB,IAAK,IAAI,KAAK,IAAK;EACnB,IAAK,IAAI,KAAK,IAAK;EACnB,IAAK,IAAI,KAAK,IAAK;EACnB,KAAK,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;CAC1B;CACA,aAAa;EACT,MAAM,MAAM;CAChB;CACA,UAAU;EACN,KAAK,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;EACtB,MAAM,KAAK,MAAM;CACrB;AACJ;;AAEA,IAAM,SAAyB,mCAAmB,IAAI,KAAK,CAAC;AAE5D,IAAM,SAAyB,2BAAW,KAAK;CAC3C;CAAG;CAAG;CAAI;CAAG;CAAI;CAAG;CAAI;CAAG;CAAI;CAAG;CAAG;CAAG;CAAG;CAAI;CAAI;AACvD,CAAC;AACD,IAAM,QAAwB,uBAAO,WAAW,KAAK,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,EAAA,CAAG;AAC9F,IAAM,QAAwB,uBAAO,MAAM,KAAK,OAAO,IAAI,IAAI,KAAK,EAAE,EAAA,CAAG;AACzE,IAAM,QAAwB,uBAAO;CAGjC,MAAM,MAAM,CAAC,CAFF,KAEE,GAAG,CADL,KACK,CAAC;CACjB,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KACnB,KAAK,IAAI,KAAK,KACV,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,MAAM,OAAO,EAAE,CAAC;CACzC,OAAO;AACX,EAAA,CAAG;AACH,IAAM,OAAuB,uBAAO,MAAM,GAAA,CAAI;AAC9C,IAAM,OAAuB,uBAAO,MAAM,GAAA,CAAI;AAE9C,IAAM,YAA4B;CAC9B;EAAC;EAAI;EAAI;EAAI;EAAI;EAAG;EAAG;EAAG;EAAG;EAAI;EAAI;EAAI;EAAI;EAAG;EAAG;EAAG;CAAC;CACvD;EAAC;EAAI;EAAI;EAAI;EAAI;EAAG;EAAG;EAAG;EAAG;EAAI;EAAI;EAAI;EAAI;EAAG;EAAG;EAAG;CAAC;CACvD;EAAC;EAAI;EAAI;EAAI;EAAI;EAAG;EAAG;EAAG;EAAG;EAAI;EAAI;EAAI;EAAI;EAAG;EAAG;EAAG;CAAC;CACvD;EAAC;EAAI;EAAI;EAAI;EAAI;EAAG;EAAG;EAAG;EAAG;EAAI;EAAI;EAAI;EAAI;EAAG;EAAG;EAAG;CAAC;CACvD;EAAC;EAAI;EAAI;EAAI;EAAI;EAAG;EAAG;EAAG;EAAG;EAAI;EAAI;EAAI;EAAI;EAAG;EAAG;EAAG;CAAC;AAC3D,CAAC,CAAC,KAAK,MAAM,WAAW,KAAK,CAAC,CAAC;AAC/B,IAAM,aAA6B,qBAAK,KAAK,KAAK,MAAM,IAAI,KAAK,MAAM,UAAU,EAAE,CAAC,EAAE,CAAC;AACvF,IAAM,aAA6B,qBAAK,KAAK,KAAK,MAAM,IAAI,KAAK,MAAM,UAAU,EAAE,CAAC,EAAE,CAAC;AACvF,IAAM,QAAwB,4BAAY,KAAK;CAC3C;CAAY;CAAY;CAAY;CAAY;AACpD,CAAC;AACD,IAAM,QAAwB,4BAAY,KAAK;CAC3C;CAAY;CAAY;CAAY;CAAY;AACpD,CAAC;AAED,SAAS,SAAS,OAAO,GAAG,GAAG,GAAG;CAC9B,IAAI,UAAU,GACV,OAAO,IAAI,IAAI;CACnB,IAAI,UAAU,GACV,OAAQ,IAAI,IAAM,CAAC,IAAI;CAC3B,IAAI,UAAU,GACV,QAAQ,IAAI,CAAC,KAAK;CACtB,IAAI,UAAU,GACV,OAAQ,IAAI,IAAM,IAAI,CAAC;CAC3B,OAAO,KAAK,IAAI,CAAC;AACrB;AAEA,IAAM,0BAA0B,IAAI,YAAY,EAAE;AAClD,IAAM,YAAN,cAAwB,OAAO;CAC3B,cAAc;EACV,MAAM,IAAI,IAAI,GAAG,IAAI;EACrB,KAAK,KAAK;EACV,KAAK,KAAK;EACV,KAAK,KAAK;EACV,KAAK,KAAK;EACV,KAAK,KAAK;CACd;CACA,MAAM;EACF,MAAM,EAAE,IAAI,IAAI,IAAI,IAAI,OAAO;EAC/B,OAAO;GAAC;GAAI;GAAI;GAAI;GAAI;EAAE;CAC9B;CACA,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;EACpB,KAAK,KAAK,KAAK;EACf,KAAK,KAAK,KAAK;EACf,KAAK,KAAK,KAAK;EACf,KAAK,KAAK,KAAK;EACf,KAAK,KAAK,KAAK;CACnB;CACA,QAAQ,MAAM,QAAQ;EAClB,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,KAAK,UAAU,GACnC,QAAQ,KAAK,KAAK,UAAU,QAAQ,IAAI;EAE5C,IAAI,KAAK,KAAK,KAAK,GAAG,KAAK,IAAI,KAAK,KAAK,KAAK,GAAG,KAAK,IAAI,KAAK,KAAK,KAAK,GAAG,KAAK,IAAI,KAAK,KAAK,KAAK,GAAG,KAAK,IAAI,KAAK,KAAK,KAAK,GAAG,KAAK;EAGvI,KAAK,IAAI,QAAQ,GAAG,QAAQ,GAAG,SAAS;GACpC,MAAM,SAAS,IAAI;GACnB,MAAM,MAAM,MAAM,QAAQ,MAAM,MAAM;GACtC,MAAM,KAAK,KAAK,QAAQ,KAAK,KAAK;GAClC,MAAM,KAAK,WAAW,QAAQ,KAAK,WAAW;GAC9C,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,KAAK;IACzB,MAAM,KAAM,KAAK,KAAK,SAAS,OAAO,IAAI,IAAI,EAAE,IAAI,QAAQ,GAAG,MAAM,KAAK,GAAG,EAAE,IAAI,KAAM;IACzF,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,KAAK;GAC3D;GAEA,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,KAAK;IACzB,MAAM,KAAM,KAAK,KAAK,SAAS,QAAQ,IAAI,IAAI,EAAE,IAAI,QAAQ,GAAG,MAAM,KAAK,GAAG,EAAE,IAAI,KAAM;IAC1F,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,KAAK;GAC3D;EACJ;EAEA,KAAK,IAAK,KAAK,KAAK,KAAK,KAAM,GAAI,KAAK,KAAK,KAAK,KAAM,GAAI,KAAK,KAAK,KAAK,KAAM,GAAI,KAAK,KAAK,KAAK,KAAM,GAAI,KAAK,KAAK,KAAK,KAAM,CAAC;CACxI;CACA,aAAa;EACT,MAAM,OAAO;CACjB;CACA,UAAU;EACN,KAAK,YAAY;EACjB,MAAM,KAAK,MAAM;EACjB,KAAK,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;CAC1B;AACJ;;;;;;AAMA,IAAM,cAA8B,mCAAmB,IAAI,UAAU,CAAC;;;;;;;AAQtE,IAAM,OAAO;;;;;;;;;AAUb,IAAM,YAAY;;AAKlB,IAAM,IAAI,MAAM,KAAK,EAAE,QAAQ,GAAG,IAAI,GAAG,MAAM,KAAK,MAAM,KAAK,KAAK,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;AAE9F,IAAM,OAAO,GAAG,GAAG,MAAO,IAAI,IAAM,CAAC,IAAI;AAEzC,IAAM,qBAAqB,IAAI,YAAY;CAAC;CAAY;CAAY;CAAY;AAAU,CAAC;AAG3F,IAAM,wBAAwB,IAAI,YAAY,EAAE;AAChD,IAAM,MAAN,cAAkB,OAAO;CACrB,cAAc;EACV,MAAM,IAAI,IAAI,GAAG,IAAI;EACrB,KAAK,IAAI,GAAG,KAAK;EACjB,KAAK,IAAI,GAAG,KAAK;EACjB,KAAK,IAAI,GAAG,KAAK;EACjB,KAAK,IAAI,GAAG,KAAK;CACrB;CACA,MAAM;EACF,MAAM,EAAE,GAAG,GAAG,GAAG,MAAM;EACvB,OAAO;GAAC;GAAG;GAAG;GAAG;EAAC;CACtB;CACA,IAAI,GAAG,GAAG,GAAG,GAAG;EACZ,KAAK,IAAI,IAAI;EACb,KAAK,IAAI,IAAI;EACb,KAAK,IAAI,IAAI;EACb,KAAK,IAAI,IAAI;CACjB;CACA,QAAQ,MAAM,QAAQ;EAClB,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,KAAK,UAAU,GACnC,MAAM,KAAK,KAAK,UAAU,QAAQ,IAAI;EAE1C,IAAI,EAAE,GAAG,GAAG,GAAG,MAAM;EACrB,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,KAAK;GACzB,IAAI,GAAG,GAAG;GACV,IAAI,IAAI,IAAI;IACR,IAAI,IAAI,GAAG,GAAG,CAAC;IACf,IAAI;IACJ,IAAI;KAAC;KAAG;KAAI;KAAI;IAAE;GACtB,OACK,IAAI,IAAI,IAAI;IACb,IAAI,IAAI,GAAG,GAAG,CAAC;IACf,KAAK,IAAI,IAAI,KAAK;IAClB,IAAI;KAAC;KAAG;KAAG;KAAI;IAAE;GACrB,OACK,IAAI,IAAI,IAAI;IACb,IAAI,IAAI,IAAI;IACZ,KAAK,IAAI,IAAI,KAAK;IAClB,IAAI;KAAC;KAAG;KAAI;KAAI;IAAE;GACtB,OACK;IACD,IAAI,KAAK,IAAI,CAAC;IACd,IAAK,IAAI,IAAK;IACd,IAAI;KAAC;KAAG;KAAI;KAAI;IAAE;GACtB;GACA,IAAI,IAAI,IAAI,EAAE,KAAK,MAAM;GACzB,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI,IAAI,KAAK,GAAG,EAAE,IAAI,EAAE;EAC5B;EAEA,IAAK,IAAI,KAAK,IAAK;EACnB,IAAK,IAAI,KAAK,IAAK;EACnB,IAAK,IAAI,KAAK,IAAK;EACnB,IAAK,IAAI,KAAK,IAAK;EACnB,KAAK,IAAI,GAAG,GAAG,GAAG,CAAC;CACvB;CACA,aAAa;EACT,MAAM,KAAK,CAAC;CAChB;CACA,UAAU;EACN,KAAK,IAAI,GAAG,GAAG,GAAG,CAAC;EACnB,KAAK,OAAO,KAAK,CAAC;CACtB;AACJ;;;;;;;AASA,IAAM,cAAc,IAAI,IAAI,OAAO,QAAQ;CACvC,KATwB,sCAAsB,IAAI,IAAI,CASpD;CACF;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACJ,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"noble_hashes-B7AZyFyS.js","names":[],"sources":["../../../../node_modules/openpgp/dist/lightweight/noble_hashes.mjs"],"sourcesContent":["/*! OpenPGP.js v6.3.2 - 2026-09-24 - this is LGPL licensed code, see LICENSE/our website https://openpgpjs.org/ for more information. */\nconst globalThis = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nimport { i as createHasher, a as HashMD, l as rotl, g as clean, C as Chi$1, M as Maj, y as wrapConstructor, t as sha3_512, q as sha3_256, v as sha512, p as sha384, n as sha256, s as sha224 } from './sha512.mjs';\n\n/**\n\nSHA1 (RFC 3174), MD5 (RFC 1321) and RIPEMD160 (RFC 2286) legacy, weak hash functions.\nDon't use them in a new protocol. What \"weak\" means:\n\n- Collisions can be made with 2^18 effort in MD5, 2^60 in SHA1, 2^80 in RIPEMD160.\n- No practical pre-image attacks (only theoretical, 2^123.4)\n- HMAC seems kinda ok: https://datatracker.ietf.org/doc/html/rfc6151\n * @module\n */\n/** Initial SHA1 state */\nconst SHA1_IV = /* @__PURE__ */ Uint32Array.from([\n 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0,\n]);\n// Reusable temporary buffer\nconst SHA1_W = /* @__PURE__ */ new Uint32Array(80);\n/** SHA1 legacy hash class. */\nclass SHA1 extends HashMD {\n constructor() {\n super(64, 20, 8, false);\n this.A = SHA1_IV[0] | 0;\n this.B = SHA1_IV[1] | 0;\n this.C = SHA1_IV[2] | 0;\n this.D = SHA1_IV[3] | 0;\n this.E = SHA1_IV[4] | 0;\n }\n get() {\n const { A, B, C, D, E } = this;\n return [A, B, C, D, E];\n }\n set(A, B, C, D, E) {\n this.A = A | 0;\n this.B = B | 0;\n this.C = C | 0;\n this.D = D | 0;\n this.E = E | 0;\n }\n process(view, offset) {\n for (let i = 0; i < 16; i++, offset += 4)\n SHA1_W[i] = view.getUint32(offset, false);\n for (let i = 16; i < 80; i++)\n SHA1_W[i] = rotl(SHA1_W[i - 3] ^ SHA1_W[i - 8] ^ SHA1_W[i - 14] ^ SHA1_W[i - 16], 1);\n // Compression function main loop, 80 rounds\n let { A, B, C, D, E } = this;\n for (let i = 0; i < 80; i++) {\n let F, K;\n if (i < 20) {\n F = Chi$1(B, C, D);\n K = 0x5a827999;\n }\n else if (i < 40) {\n F = B ^ C ^ D;\n K = 0x6ed9eba1;\n }\n else if (i < 60) {\n F = Maj(B, C, D);\n K = 0x8f1bbcdc;\n }\n else {\n F = B ^ C ^ D;\n K = 0xca62c1d6;\n }\n const T = (rotl(A, 5) + F + E + K + SHA1_W[i]) | 0;\n E = D;\n D = C;\n C = rotl(B, 30);\n B = A;\n A = T;\n }\n // Add the compressed chunk to the current hash value\n A = (A + this.A) | 0;\n B = (B + this.B) | 0;\n C = (C + this.C) | 0;\n D = (D + this.D) | 0;\n E = (E + this.E) | 0;\n this.set(A, B, C, D, E);\n }\n roundClean() {\n clean(SHA1_W);\n }\n destroy() {\n this.set(0, 0, 0, 0, 0);\n clean(this.buffer);\n }\n}\n/** SHA1 (RFC 3174) legacy hash function. It was cryptographically broken. */\nconst sha1$1 = /* @__PURE__ */ createHasher(() => new SHA1());\n// RIPEMD-160\nconst Rho160 = /* @__PURE__ */ Uint8Array.from([\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n]);\nconst Id160 = /* @__PURE__ */ (() => Uint8Array.from(new Array(16).fill(0).map((_, i) => i)))();\nconst Pi160 = /* @__PURE__ */ (() => Id160.map((i) => (9 * i + 5) % 16))();\nconst idxLR = /* @__PURE__ */ (() => {\n const L = [Id160];\n const R = [Pi160];\n const res = [L, R];\n for (let i = 0; i < 4; i++)\n for (let j of res)\n j.push(j[i].map((k) => Rho160[k]));\n return res;\n})();\nconst idxL = /* @__PURE__ */ (() => idxLR[0])();\nconst idxR = /* @__PURE__ */ (() => idxLR[1])();\n// const [idxL, idxR] = idxLR;\nconst shifts160 = /* @__PURE__ */ [\n [11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8],\n [12, 13, 11, 15, 6, 9, 9, 7, 12, 15, 11, 13, 7, 8, 7, 7],\n [13, 15, 14, 11, 7, 7, 6, 8, 13, 14, 13, 12, 5, 5, 6, 9],\n [14, 11, 12, 14, 8, 6, 5, 5, 15, 12, 15, 14, 9, 9, 8, 6],\n [15, 12, 13, 13, 9, 5, 8, 6, 14, 11, 12, 11, 8, 6, 5, 5],\n].map((i) => Uint8Array.from(i));\nconst shiftsL160 = /* @__PURE__ */ idxL.map((idx, i) => idx.map((j) => shifts160[i][j]));\nconst shiftsR160 = /* @__PURE__ */ idxR.map((idx, i) => idx.map((j) => shifts160[i][j]));\nconst Kl160 = /* @__PURE__ */ Uint32Array.from([\n 0x00000000, 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xa953fd4e,\n]);\nconst Kr160 = /* @__PURE__ */ Uint32Array.from([\n 0x50a28be6, 0x5c4dd124, 0x6d703ef3, 0x7a6d76e9, 0x00000000,\n]);\n// It's called f() in spec.\nfunction ripemd_f(group, x, y, z) {\n if (group === 0)\n return x ^ y ^ z;\n if (group === 1)\n return (x & y) | (~x & z);\n if (group === 2)\n return (x | ~y) ^ z;\n if (group === 3)\n return (x & z) | (y & ~z);\n return x ^ (y | ~z);\n}\n// Reusable temporary buffer\nconst BUF_160 = /* @__PURE__ */ new Uint32Array(16);\nclass RIPEMD160 extends HashMD {\n constructor() {\n super(64, 20, 8, true);\n this.h0 = 0x67452301 | 0;\n this.h1 = 0xefcdab89 | 0;\n this.h2 = 0x98badcfe | 0;\n this.h3 = 0x10325476 | 0;\n this.h4 = 0xc3d2e1f0 | 0;\n }\n get() {\n const { h0, h1, h2, h3, h4 } = this;\n return [h0, h1, h2, h3, h4];\n }\n set(h0, h1, h2, h3, h4) {\n this.h0 = h0 | 0;\n this.h1 = h1 | 0;\n this.h2 = h2 | 0;\n this.h3 = h3 | 0;\n this.h4 = h4 | 0;\n }\n process(view, offset) {\n for (let i = 0; i < 16; i++, offset += 4)\n BUF_160[i] = view.getUint32(offset, true);\n // prettier-ignore\n let al = this.h0 | 0, ar = al, bl = this.h1 | 0, br = bl, cl = this.h2 | 0, cr = cl, dl = this.h3 | 0, dr = dl, el = this.h4 | 0, er = el;\n // Instead of iterating 0 to 80, we split it into 5 groups\n // And use the groups in constants, functions, etc. Much simpler\n for (let group = 0; group < 5; group++) {\n const rGroup = 4 - group;\n const hbl = Kl160[group], hbr = Kr160[group]; // prettier-ignore\n const rl = idxL[group], rr = idxR[group]; // prettier-ignore\n const sl = shiftsL160[group], sr = shiftsR160[group]; // prettier-ignore\n for (let i = 0; i < 16; i++) {\n const tl = (rotl(al + ripemd_f(group, bl, cl, dl) + BUF_160[rl[i]] + hbl, sl[i]) + el) | 0;\n al = el, el = dl, dl = rotl(cl, 10) | 0, cl = bl, bl = tl; // prettier-ignore\n }\n // 2 loops are 10% faster\n for (let i = 0; i < 16; i++) {\n const tr = (rotl(ar + ripemd_f(rGroup, br, cr, dr) + BUF_160[rr[i]] + hbr, sr[i]) + er) | 0;\n ar = er, er = dr, dr = rotl(cr, 10) | 0, cr = br, br = tr; // prettier-ignore\n }\n }\n // Add the compressed chunk to the current hash value\n this.set((this.h1 + cl + dr) | 0, (this.h2 + dl + er) | 0, (this.h3 + el + ar) | 0, (this.h4 + al + br) | 0, (this.h0 + bl + cr) | 0);\n }\n roundClean() {\n clean(BUF_160);\n }\n destroy() {\n this.destroyed = true;\n clean(this.buffer);\n this.set(0, 0, 0, 0, 0);\n }\n}\n/**\n * RIPEMD-160 - a legacy hash function from 1990s.\n * * https://homes.esat.kuleuven.be/~bosselae/ripemd160.html\n * * https://homes.esat.kuleuven.be/~bosselae/ripemd160/pdf/AB-9601/AB-9601.pdf\n */\nconst ripemd160$1 = /* @__PURE__ */ createHasher(() => new RIPEMD160());\n\n/**\n * SHA1 (RFC 3174) legacy hash function.\n * @module\n * @deprecated\n */\n/** @deprecated Use import from `noble/hashes/legacy` module */\nconst sha1 = sha1$1;\n\n/**\n * RIPEMD-160 legacy hash function.\n * https://homes.esat.kuleuven.be/~bosselae/ripemd160.html\n * https://homes.esat.kuleuven.be/~bosselae/ripemd160/pdf/AB-9601/AB-9601.pdf\n * @module\n * @deprecated\n */\n/** @deprecated Use import from `noble/hashes/legacy` module */\nconst ripemd160 = ripemd160$1;\n\n/** @access private */\n// Copied from https://github.com/paulmillr/noble-hashes/blob/main/test/misc/md5.ts\n// Per-round constants\nconst K = Array.from({ length: 64 }, (_, i) => Math.floor(2 ** 32 * Math.abs(Math.sin(i + 1))));\n// Choice: a ? b : c\nconst Chi = (a, b, c) => (a & b) ^ (~a & c);\n// Initial state (same as sha1, but 4 u32 instead of 5)\nconst IV = /* @__PURE__ */ new Uint32Array([0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476]);\n// Temporary buffer, not used to store anything between runs\n// Named this way for SHA1 compat\nconst MD5_W = /* @__PURE__ */ new Uint32Array(16);\nclass MD5 extends HashMD {\n constructor() {\n super(64, 16, 8, true);\n this.A = IV[0] | 0;\n this.B = IV[1] | 0;\n this.C = IV[2] | 0;\n this.D = IV[3] | 0;\n }\n get() {\n const { A, B, C, D } = this;\n return [A, B, C, D];\n }\n set(A, B, C, D) {\n this.A = A | 0;\n this.B = B | 0;\n this.C = C | 0;\n this.D = D | 0;\n }\n process(view, offset) {\n for (let i = 0; i < 16; i++, offset += 4)\n MD5_W[i] = view.getUint32(offset, true);\n // Compression function main loop, 64 rounds\n let { A, B, C, D } = this;\n for (let i = 0; i < 64; i++) {\n let F, g, s;\n if (i < 16) {\n F = Chi(B, C, D);\n g = i;\n s = [7, 12, 17, 22];\n }\n else if (i < 32) {\n F = Chi(D, B, C);\n g = (5 * i + 1) % 16;\n s = [5, 9, 14, 20];\n }\n else if (i < 48) {\n F = B ^ C ^ D;\n g = (3 * i + 5) % 16;\n s = [4, 11, 16, 23];\n }\n else {\n F = C ^ (B | ~D);\n g = (7 * i) % 16;\n s = [6, 10, 15, 21];\n }\n F = F + A + K[i] + MD5_W[g];\n A = D;\n D = C;\n C = B;\n B = B + rotl(F, s[i % 4]);\n }\n // Add the compressed chunk to the current hash value\n A = (A + this.A) | 0;\n B = (B + this.B) | 0;\n C = (C + this.C) | 0;\n D = (D + this.D) | 0;\n this.set(A, B, C, D);\n }\n roundClean() {\n MD5_W.fill(0);\n }\n destroy() {\n this.set(0, 0, 0, 0);\n this.buffer.fill(0);\n }\n}\nconst md5 = /* @__PURE__ */ wrapConstructor(() => new MD5());\n\n/**\n * @access private\n * This file is needed to dynamic import the noble-hashes.\n * Separate dynamic imports are not convenient as they result in too many chunks,\n * which share a lot of code anyway.\n */\nconst nobleHashes = new Map(Object.entries({\n md5,\n sha1,\n sha224,\n sha256,\n sha384,\n sha512,\n sha3_256,\n sha3_512,\n ripemd160\n}));\n\nexport { nobleHashes };\n"],"ignoreList":[0],"mappings":"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"}
|