@tonysamperi/krypto 1.1.0 → 1.2.0
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/cjs/helpers/index.d.cts +1 -0
- package/dist/cjs/helpers/uuid-v4.helper.d.cts +1 -0
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/index.d.cts +1 -1
- package/dist/esm/algo/aes.class.js +1 -1
- package/dist/esm/enc/utf8.class.js +1 -1
- package/dist/esm/helpers/correlation-id.helper.js +15 -2
- package/dist/esm/helpers/index.d.ts +1 -0
- package/dist/esm/helpers/index.js +3 -1
- package/dist/esm/helpers/uuid-v4.helper.d.ts +1 -0
- package/dist/esm/helpers/uuid-v4.helper.js +17 -0
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +3 -2
- package/dist/esm/lib/word-array.class.js +2 -2
- package/package.json +17 -19
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const uuidV4Helper: () => string;
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var Bt=Object.defineProperty;var os=Object.getOwnPropertyDescriptor;var is=Object.getOwnPropertyNames;var hs=Object.prototype.hasOwnProperty;var ns=(n,t)=>{for(var s in t)Bt(n,s,{get:t[s],enumerable:!0})},cs=(n,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of is(t))!hs.call(n,e)&&e!==s&&Bt(n,e,{get:()=>t[e],enumerable:!(r=os(t,e))||r.enumerable});return n};var as=n=>cs(Bt({},"__esModule",{value:!0}),n);var gs={};ns(gs,{AES:()=>P,Base64:()=>K,BlockCipher:()=>u,CBC:()=>A,CTR:()=>J,CipherParams:()=>M,DES:()=>z,ECB:()=>Q,EVPKDF:()=>rt,Hasher:()=>m,Hex:()=>tt,Latin1:()=>U,MD5:()=>X,NoPadding:()=>at,PBKDF2:()=>gt,PKCS7:()=>N,PasswordBasedCipher:()=>D,SHA1:()=>ot,SHA256:()=>T,SHA512:()=>it,SerializableCipher:()=>I,TripleDES:()=>G,Utf16:()=>wt,Utf8:()=>L,WordArray:()=>f,X64Word:()=>a,X64WordArray:()=>V,aesHelper:()=>bt,correlationIdHelper:()=>Ct,desHelper:()=>vt,md5Helper:()=>It,sha1Helper:()=>Et,sha256Helper:()=>Rt,sha512Helper:()=>Mt,tripleDesHelper:()=>Wt});module.exports=as(gs);var tt=class{static parse(t){let s=t.length,r=[];for(let e=0;e<s;e+=2)r[e>>>3]|=parseInt(t.substr(e,2),16)<<24-e%8*4;return new f(r,s/2)}static stringify(t){let s=[];for(let r=0;r<t.sigBytes;r++){let e=t.words[r>>>2]>>>24-r%4*8&255;s.push((e>>>4).toString(16)),s.push((e&15).toString(16))}return s.join("")}};var f=class n{constructor(t,s){this.words=t||[],s!==void 0?this.sigBytes=s:this.sigBytes=this.words.length*4}static random(t){let s=[],r=function(e){let o=987654321,i=4294967295;return function(){o=36969*(o&65535)+(o>>16)&i,e=18e3*(e&65535)+(e>>16)&i;let h=(o<<16)+e&i;return h/=4294967296,h+=.5,h*(Math.random()>.5?1:-1)}};for(let e=0,o;e<t;e+=4){let i=r((o||Math.random())*4294967296);o=i()*987654071,s.push(i()*4294967296|0)}return new n(s,t)}clamp(){this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4)}clone(){return new n(this.words.slice(0),this.sigBytes)}concat(t){if(this.clamp(),this.sigBytes%4)for(let s=0;s<t.sigBytes;s++){let r=t.words[s>>>2]>>>24-s%4*8&255;this.words[this.sigBytes+s>>>2]|=r<<24-(this.sigBytes+s)%4*8}else for(let s=0;s<t.sigBytes;s+=4)this.words[this.sigBytes+s>>>2]=t.words[s>>>2];return this.sigBytes+=t.sigBytes,this}toString(t){return(t||tt).stringify(this)}};var U=class{static parse(t){let s=t.length,r=[];for(let e=0;e<s;e++)r[e>>>2]|=(t.charCodeAt(e)&255)<<24-e%4*8;return new f(r,s)}static stringify(t){let s=[];for(let r=0;r<t.sigBytes;r++){let e=t.words[r>>>2]>>>24-r%4*8&255;s.push(String.fromCharCode(e))}return s.join("")}};var L=class{static parse(t){return U.parse(unescape(encodeURIComponent(t)))}static stringify(t){try{return decodeURIComponent(escape(U.stringify(t)))}catch(s){throw console.error("Malformed UTF-8 data",s),new Error("Malformed UTF-8 data")}}};var st=class{constructor(t){this._minBufferSize=0,this.cfg=Object.assign({blockSize:1},t),this._data=new f,this._nDataBytes=0}clone(){let t=this.constructor();for(let s in this)Object.prototype.hasOwnProperty.call(this,s)&&(t[s]=this[s]);return t._data=this._data.clone(),t}reset(){this._data=new f,this._nDataBytes=0}_append(t){typeof t=="string"&&(t=L.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes}_process(t){if(!this.cfg.blockSize)throw new Error("missing blockSize in config");let s=this.cfg.blockSize*4,r=this._data.sigBytes/s;t?r=Math.ceil(r):r=Math.max((r|0)-this._minBufferSize,0);let e=r*this.cfg.blockSize,o=Math.min(e*4,this._data.sigBytes),i;if(e){for(let h=0;h<e;h+=this.cfg.blockSize)this._doProcessBlock(this._data.words,h);i=this._data.words.splice(0,e),this._data.sigBytes-=o}return new f(i,o)}};var M=class{constructor(t){this.ciphertext=t.ciphertext,this.key=t.key,this.iv=t.iv,this.salt=t.salt,this.algorithm=t.algorithm,this.mode=t.mode,this.padding=t.padding,this.blockSize=t.blockSize,this.formatter=t.formatter}extend(t){return t.ciphertext!==void 0&&(this.ciphertext=t.ciphertext),t.key!==void 0&&(this.key=t.key),t.iv!==void 0&&(this.iv=t.iv),t.salt!==void 0&&(this.salt=t.salt),t.algorithm!==void 0&&(this.algorithm=t.algorithm),t.mode!==void 0&&(this.mode=t.mode),t.padding!==void 0&&(this.padding=t.padding),t.blockSize!==void 0&&(this.blockSize=t.blockSize),t.formatter!==void 0&&(this.formatter=t.formatter),this}toString(t){if(t)return t.stringify(this);if(this.formatter)return this.formatter.stringify(this);throw new Error("cipher needs a formatter to be able to convert the result into a string")}};var K=class{static parse(t){let s=t.length;if(this._reverseMap===void 0){this._reverseMap=[];for(let e=0;e<this._map.length;e++)this._reverseMap[this._map.charCodeAt(e)]=e}let r=this._map.charAt(64);if(r){let e=t.indexOf(r);e!==-1&&(s=e)}return this.parseLoop(t,s,this._reverseMap)}static parseLoop(t,s,r){let e=[],o=0;for(let i=0;i<s;i++)if(i%4){let h=r[t.charCodeAt(i-1)]<<i%4*2,c=r[t.charCodeAt(i)]>>>6-i%4*2;e[o>>>2]|=(h|c)<<24-o%4*8,o++}return new f(e,o)}static stringify(t){t.clamp();let s=[];for(let e=0;e<t.sigBytes;e+=3){let o=t.words[e>>>2]>>>24-e%4*8&255,i=t.words[e+1>>>2]>>>24-(e+1)%4*8&255,h=t.words[e+2>>>2]>>>24-(e+2)%4*8&255,c=o<<16|i<<8|h;for(let d=0;d<4&&e+d*.75<t.sigBytes;d++)s.push(this._map.charAt(c>>>6*(3-d)&63))}let r=this._map.charAt(64);if(r)for(;s.length%4;)s.push(r);return s.join("")}};K._map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";K._reverseMap=void 0;var et=class{static parse(t){let s=K.parse(t),r;return s.words[0]===1398893684&&s.words[1]===1701076831&&(r=new f(s.words.slice(2,4)),s.words.splice(0,4),s.sigBytes-=16),new M({ciphertext:s,salt:r})}static stringify(t){if(!t.ciphertext)throw new Error("missing ciphertext in params");let s=t.ciphertext,r=t.salt,e;if(r){if(typeof r=="string")throw new Error("salt is expected to be a WordArray");e=new f([1398893684,1701076831]).concat(r).concat(s)}else e=s;return e.toString(K)}};var I=class{static decrypt(t,s,r,e){let o=Object.assign({},this.cfg,e);if(!o.format)throw new Error("could not determine format");if(s=this._parse(s,o.format),!s.ciphertext)throw new Error("could not determine ciphertext");return t.createDecryptor(r,o).finalize(s.ciphertext)}static encrypt(t,s,r,e){let o=Object.assign({},this.cfg,e),i=t.createEncryptor(r,o),h=i.finalize(s);return new M({ciphertext:h,key:r,iv:i.cfg.iv,algorithm:t,mode:i.cfg.mode,padding:i.cfg.padding,blockSize:i.cfg.blockSize,formatter:o.format})}static _parse(t,s){return typeof t=="string"?s.parse(t):t}};I.cfg={blockSize:4,iv:new f([]),format:et};var m=class extends st{constructor(t){super(Object.assign({blockSize:512/32},t)),this.reset()}static _createHelper(t){function s(r,e){return new t(e).finalize(r)}return s}finalize(t){return t&&this._append(t),this._doFinalize()}update(t){return this._append(t),this._process(),this}};var l=[];for(let n=0;n<64;n++)l[n]=Math.abs(Math.sin(n+1))*4294967296|0;var X=class n extends m{get hash(){return this._hash}static FF(t,s,r,e,o,i,h){let c=t+(s&r|~s&e)+o+h;return(c<<i|c>>>32-i)+s}static GG(t,s,r,e,o,i,h){let c=t+(s&e|r&~e)+o+h;return(c<<i|c>>>32-i)+s}static HH(t,s,r,e,o,i,h){let c=t+(s^r^e)+o+h;return(c<<i|c>>>32-i)+s}static II(t,s,r,e,o,i,h){let c=t+(r^(s|~e))+o+h;return(c<<i|c>>>32-i)+s}reset(){super.reset(),this._hash=new f([1732584193,4023233417,2562383102,271733878])}_doFinalize(){let t=this._nDataBytes*8,s=this._data.sigBytes*8;this._data.words[s>>>5]|=128<<24-s%32;let r=Math.floor(t/4294967296),e=t;this._data.words[(s+64>>>9<<4)+15]=(r<<8|r>>>24)&16711935|(r<<24|r>>>8)&4278255360,this._data.words[(s+64>>>9<<4)+14]=(e<<8|e>>>24)&16711935|(e<<24|e>>>8)&4278255360,this._data.sigBytes=(this._data.words.length+1)*4,this._process();for(let o=0;o<4;o++)this._hash.words[o]=(this._hash.words[o]<<8|this._hash.words[o]>>>24)&16711935|(this._hash.words[o]<<24|this._hash.words[o]>>>8)&4278255360;return this._hash}_doProcessBlock(t,s){for(let c=0;c<16;c++){let d=s+c,w=t[d];t[d]=(w<<8|w>>>24)&16711935|(w<<24|w>>>8)&4278255360}let r=Array.from({length:16});for(let c=0;c<16;c++)r[c]=t[s+c];let e=this._hash.words[0],o=this._hash.words[1],i=this._hash.words[2],h=this._hash.words[3];e=n.FF(e,o,i,h,r[0],7,l[0]),h=n.FF(h,e,o,i,r[1],12,l[1]),i=n.FF(i,h,e,o,r[2],17,l[2]),o=n.FF(o,i,h,e,r[3],22,l[3]),e=n.FF(e,o,i,h,r[4],7,l[4]),h=n.FF(h,e,o,i,r[5],12,l[5]),i=n.FF(i,h,e,o,r[6],17,l[6]),o=n.FF(o,i,h,e,r[7],22,l[7]),e=n.FF(e,o,i,h,r[8],7,l[8]),h=n.FF(h,e,o,i,r[9],12,l[9]),i=n.FF(i,h,e,o,r[10],17,l[10]),o=n.FF(o,i,h,e,r[11],22,l[11]),e=n.FF(e,o,i,h,r[12],7,l[12]),h=n.FF(h,e,o,i,r[13],12,l[13]),i=n.FF(i,h,e,o,r[14],17,l[14]),o=n.FF(o,i,h,e,r[15],22,l[15]),e=n.GG(e,o,i,h,r[1],5,l[16]),h=n.GG(h,e,o,i,r[6],9,l[17]),i=n.GG(i,h,e,o,r[11],14,l[18]),o=n.GG(o,i,h,e,r[0],20,l[19]),e=n.GG(e,o,i,h,r[5],5,l[20]),h=n.GG(h,e,o,i,r[10],9,l[21]),i=n.GG(i,h,e,o,r[15],14,l[22]),o=n.GG(o,i,h,e,r[4],20,l[23]),e=n.GG(e,o,i,h,r[9],5,l[24]),h=n.GG(h,e,o,i,r[14],9,l[25]),i=n.GG(i,h,e,o,r[3],14,l[26]),o=n.GG(o,i,h,e,r[8],20,l[27]),e=n.GG(e,o,i,h,r[13],5,l[28]),h=n.GG(h,e,o,i,r[2],9,l[29]),i=n.GG(i,h,e,o,r[7],14,l[30]),o=n.GG(o,i,h,e,r[12],20,l[31]),e=n.HH(e,o,i,h,r[5],4,l[32]),h=n.HH(h,e,o,i,r[8],11,l[33]),i=n.HH(i,h,e,o,r[11],16,l[34]),o=n.HH(o,i,h,e,r[14],23,l[35]),e=n.HH(e,o,i,h,r[1],4,l[36]),h=n.HH(h,e,o,i,r[4],11,l[37]),i=n.HH(i,h,e,o,r[7],16,l[38]),o=n.HH(o,i,h,e,r[10],23,l[39]),e=n.HH(e,o,i,h,r[13],4,l[40]),h=n.HH(h,e,o,i,r[0],11,l[41]),i=n.HH(i,h,e,o,r[3],16,l[42]),o=n.HH(o,i,h,e,r[6],23,l[43]),e=n.HH(e,o,i,h,r[9],4,l[44]),h=n.HH(h,e,o,i,r[12],11,l[45]),i=n.HH(i,h,e,o,r[15],16,l[46]),o=n.HH(o,i,h,e,r[2],23,l[47]),e=n.II(e,o,i,h,r[0],6,l[48]),h=n.II(h,e,o,i,r[7],10,l[49]),i=n.II(i,h,e,o,r[14],15,l[50]),o=n.II(o,i,h,e,r[5],21,l[51]),e=n.II(e,o,i,h,r[12],6,l[52]),h=n.II(h,e,o,i,r[3],10,l[53]),i=n.II(i,h,e,o,r[10],15,l[54]),o=n.II(o,i,h,e,r[1],21,l[55]),e=n.II(e,o,i,h,r[8],6,l[56]),h=n.II(h,e,o,i,r[15],10,l[57]),i=n.II(i,h,e,o,r[6],15,l[58]),o=n.II(o,i,h,e,r[13],21,l[59]),e=n.II(e,o,i,h,r[4],6,l[60]),h=n.II(h,e,o,i,r[11],10,l[61]),i=n.II(i,h,e,o,r[2],15,l[62]),o=n.II(o,i,h,e,r[9],21,l[63]),this._hash.words[0]=this._hash.words[0]+e|0,this._hash.words[1]=this._hash.words[1]+o|0,this._hash.words[2]=this._hash.words[2]+i|0,this._hash.words[3]=this._hash.words[3]+h|0}};var rt=class n{constructor(t){this.cfg=Object.assign({keySize:128/32,hasher:X,iterations:1},t)}static execute(t,s,r){return new n(r).compute(t,s)}compute(t,s){let r=new this.cfg.hasher,e=new f,o;for(;e.words.length<this.cfg.keySize;){o&&r.update(o),o=r.update(t).finalize(s),r.reset();for(let i=1;i<this.cfg.iterations;i++)o=r.finalize(o),r.reset();e.concat(o)}return e.sigBytes=this.cfg.keySize*4,e}};var lt=class{static execute(t,s,r,e){e||(e=f.random(64/8));let o=new rt({keySize:s+r}).compute(t,e),i=new f(o.words.slice(s),r*4);return o.sigBytes=s*4,new M({key:o,iv:i,salt:e})}};var D=class{static decrypt(t,s,r,e){let o=Object.assign({},this.cfg,e);if(o.format===void 0)throw new Error("missing format in config");if(s=this._parse(s,o.format),o.kdf===void 0)throw new Error("the key derivation function must be set");let i=o.kdf.execute(r,t.keySize,t.ivSize,s.salt);return i.iv!==void 0&&(o.iv=i.iv),I.decrypt.call(this,t,s,i.key,o)}static encrypt(t,s,r,e){let o=Object.assign({},this.cfg,e);if(o.kdf===void 0)throw new Error("missing kdf in config");let i=o.kdf.execute(r,t.keySize,t.ivSize);return i.iv!==void 0&&(o.iv=i.iv),I.encrypt.call(this,t,s,i.key,o).extend(i)}static _parse(t,s){return typeof t=="string"?s.parse(t):t}};D.cfg={blockSize:4,iv:new f([]),format:et,kdf:lt};var ft=class{constructor(t){this._cipher=t}decrypt(t,s,r){return typeof s=="string"?D.decrypt(this._cipher,t,s,r):I.decrypt(this._cipher,t,s,r)}encrypt(t,s,r){return typeof s=="string"?D.encrypt(this._cipher,t,s,r):I.encrypt(this._cipher,t,s,r)}};var j=class extends st{constructor(t,s,r){super(Object.assign({blockSize:1},r)),this._xformMode=t,this._key=s,this.reset()}static _createHelper(t){return new ft(t)}static createDecryptor(t,s){let r=this;return new r(this._DEC_XFORM_MODE,t,s)}static createEncryptor(t,s){return new this(this._ENC_XFORM_MODE,t,s)}finalize(t){return t&&this._append(t),this._doFinalize()}process(t){return this._append(t),this._process()}};j.ivSize=4;j.keySize=4;j._DEC_XFORM_MODE=2;j._ENC_XFORM_MODE=1;var B=class{constructor(t,s){this.init(t,s)}init(t,s){this._cipher=t,this._iv=s}};var W=class{static createDecryptor(t,s){let r=this.Decryptor;return new r(t,s)}static createEncryptor(t,s){let r=this.Encryptor;return new r(t,s)}};W.Decryptor=B;W.Encryptor=B;var dt=class extends B{get prevBlock(){return this._prevBlock}processBlock(t,s){if(this._cipher.cfg.blockSize===void 0)throw new Error("missing blockSize in cipher config");this.xorBlock(t,s,this._cipher.cfg.blockSize),this._cipher.encryptBlock(t,s),this._prevBlock=t.slice(s,s+this._cipher.cfg.blockSize)}xorBlock(t,s,r){let e;this._iv?(e=this._iv,this._iv=void 0):e=this._prevBlock;for(let o=0;o<r;o++)t[s+o]^=e[o]}};var pt=class extends B{get prevBlock(){return this._prevBlock}processBlock(t,s){if(this._cipher.cfg.blockSize===void 0)throw new Error("missing blockSize in cipher config");let r=t.slice(s,s+this._cipher.cfg.blockSize);this._cipher.decryptBlock(t,s),this.xorBlock(t,s,this._cipher.cfg.blockSize),this._prevBlock=r}xorBlock(t,s,r){let e;this._iv?(e=this._iv,this._iv=void 0):e=this._prevBlock;for(let o=0;o<r;o++)t[s+o]^=e[o]}};var A=class extends W{};A.Decryptor=pt;A.Encryptor=dt;var N=class{static pad(t,s){let r=s*4,e=r-t.sigBytes%r,o=e<<24|e<<16|e<<8|e,i=[];for(let c=0;c<e;c+=4)i.push(o);let h=new f(i,e);t.concat(h)}static unpad(t){let s=t.words[t.sigBytes-1>>>2]&255;t.sigBytes-=s}};var u=class extends j{constructor(t,s,r){super(t,s,Object.assign({blockSize:4,mode:A,padding:N},r))}reset(){if(super.reset(),this.cfg.mode===void 0)throw new Error("missing mode in config");let t;this._xformMode===this.constructor._ENC_XFORM_MODE?t=this.cfg.mode.createEncryptor:(t=this.cfg.mode.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator===t?this._mode.init(this,this.cfg.iv&&this.cfg.iv.words):(this._mode=t.call(this.cfg.mode,this,this.cfg.iv&&this.cfg.iv.words),this._mode.__creator=t)}_doFinalize(){if(this.cfg.padding===void 0)throw new Error("missing padding in config");let t;if(this._xformMode===this.constructor._ENC_XFORM_MODE){if(this.cfg.blockSize===void 0)throw new Error("missing blockSize in config");this.cfg.padding.pad(this._data,this.cfg.blockSize),t=this._process(!0)}else t=this._process(!0),this.cfg.padding.unpad(t);return t}_doProcessBlock(t,s){this._mode.processBlock(t,s)}};var a=class n{constructor(t,s){this.high=t,this.low=s}add(t){let s=this.low+t.low|0,r=s>>>0<this.low>>>0?1:0,e=this.high+t.high+r|0;return new n(e,s)}and(t){return new n(this.high&t.high,this.low&t.low)}not(){return new n(~this.high,~this.low)}or(t){return new n(this.high|t.high,this.low|t.low)}rotL(t){return this.shiftL(t).or(this.shiftR(64-t))}rotR(t){return this.shiftR(t).or(this.shiftL(64-t))}shiftL(t){return t<32?new n(this.high<<t|this.low>>>32-t,this.low<<t):new n(this.low<<t-32,0)}shiftR(t){return t<32?new n(this.high>>>t,this.low>>>t|this.high<<32-t):new n(0,this.high>>>t-32)}xor(t){return new n(this.high^t.high,this.low^t.low)}};var V=class n{constructor(t=[],s){this.words=t,this.sigBytes=s!==void 0?s:t.length*8}static create(t=[],s){return new n(t,s)}clone(){let t=this.words.map(s=>new a(s.high,s.low));return new n(t,this.sigBytes)}toX32(){let t=[];for(let s of this.words)t.push(s.high,s.low);return new f(t,this.sigBytes)}};var S=[],jt=[],Tt=[],Ut=[],Nt=[],Vt=[],kt=[],St=[],Ht=[],Ft=[];(function(){let n=[];for(let r=0;r<256;r++)r<128?n[r]=r<<1:n[r]=r<<1^283;let t=0,s=0;for(let r=0;r<256;r++){let e=s^s<<1^s<<2^s<<3^s<<4;e=e>>>8^e&255^99,S[t]=e,jt[e]=t;let o=n[t],i=n[o],h=n[i],c=n[e]*257^e*16843008;Tt[t]=c<<24|c>>>8,Ut[t]=c<<16|c>>>16,Nt[t]=c<<8|c>>>24,Vt[t]=c,c=h*16843009^i*65537^o*257^t*16843008,kt[e]=c<<24|c>>>8,St[e]=c<<16|c>>>16,Ht[e]=c<<8|c>>>24,Ft[e]=c,t?(t=o^n[n[n[h^o]]],s^=n[n[s]]):t=s=1}})();var ls=[0,1,2,4,8,16,32,64,128,27,54],P=class extends u{constructor(t,s,r){super(t,s,r),super.reset()}decryptBlock(t,s){let r=t[s+1];t[s+1]=t[s+3],t[s+3]=r,this._doCryptBlock(t,s,this._invKeySchedule,kt,St,Ht,Ft,jt),r=t[s+1],t[s+1]=t[s+3],t[s+3]=r}encryptBlock(t,s){this._doCryptBlock(t,s,this._keySchedule,Tt,Ut,Nt,Vt,S)}reset(){if(super.reset(),this._nRounds&&this._keyPriorReset===this._key)return;let t=this._keyPriorReset=this._key,s=t.words,r=t.sigBytes/4,o=((this._nRounds=r+6)+1)*4,i=this._keySchedule=[];for(let h=0;h<o;h++)if(h<r)i[h]=s[h];else{let c=i[h-1];h%r?r>6&&h%r===4&&(c=S[c>>>24]<<24|S[c>>>16&255]<<16|S[c>>>8&255]<<8|S[c&255]):(c=c<<8|c>>>24,c=S[c>>>24]<<24|S[c>>>16&255]<<16|S[c>>>8&255]<<8|S[c&255],c^=ls[h/r|0]<<24),i[h]=i[h-r]^c}this._invKeySchedule=[];for(let h=0;h<o;h++){let c=o-h,d;h%4?d=i[c]:d=i[c-4],h<4||c<=4?this._invKeySchedule[h]=d:this._invKeySchedule[h]=kt[S[d>>>24]]^St[S[d>>>16&255]]^Ht[S[d>>>8&255]]^Ft[S[d&255]]}}_doCryptBlock(t,s,r,e,o,i,h,c){let d=t[s]^r[0],w=t[s+1]^r[1],p=t[s+2]^r[2],_=t[s+3]^r[3],y=4;for(let k=1;k<this._nRounds;k++){let g=e[d>>>24]^o[w>>>16&255]^i[p>>>8&255]^h[_&255]^r[y++],x=e[w>>>24]^o[p>>>16&255]^i[_>>>8&255]^h[d&255]^r[y++],v=e[p>>>24]^o[_>>>16&255]^i[d>>>8&255]^h[w&255]^r[y++],ut=e[_>>>24]^o[d>>>16&255]^i[w>>>8&255]^h[p&255]^r[y++];d=g,w=x,p=v,_=ut}let H=(c[d>>>24]<<24|c[w>>>16&255]<<16|c[p>>>8&255]<<8|c[_&255])^r[y++],R=(c[w>>>24]<<24|c[p>>>16&255]<<16|c[_>>>8&255]<<8|c[d&255])^r[y++],b=(c[p>>>24]<<24|c[_>>>16&255]<<16|c[d>>>8&255]<<8|c[w&255])^r[y++],C=(c[_>>>24]<<24|c[d>>>16&255]<<16|c[w>>>8&255]<<8|c[p&255])^r[y++];t[s]=H,t[s+1]=R,t[s+2]=b,t[s+3]=C}};P.keySize=256/32;var fs=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],Pt=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],ds=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],ps=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],ws=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],z=class extends u{constructor(t,s,r){super(t,s,r),this._invSubKeys=[],this._lBlock=0,this._rBlock=0,this._subKeys=[],this.reset()}decryptBlock(t,s){this._doCryptBlock(t,s,this._invSubKeys)}encryptBlock(t,s){this._doCryptBlock(t,s,this._subKeys)}reset(){super.reset();let t=[];for(let s=0;s<56;s++){let r=fs[s]-1;t[s]=this._key.words[r>>>5]>>>31-r%32&1}this._subKeys=[];for(let s=0;s<16;s++){this._subKeys[s]=[];let r=ds[s];for(let e=0;e<24;e++)this._subKeys[s][e/6|0]|=t[(Pt[e]-1+r)%28]<<31-e%6,this._subKeys[s][4+(e/6|0)]|=t[28+(Pt[e+24]-1+r)%28]<<31-e%6;this._subKeys[s][0]=this._subKeys[s][0]<<1|this._subKeys[s][0]>>>31;for(let e=1;e<7;e++)this._subKeys[s][e]=this._subKeys[s][e]>>>(e-1)*4+3;this._subKeys[s][7]=this._subKeys[s][7]<<5|this._subKeys[s][7]>>>27}this._invSubKeys=[];for(let s=0;s<16;s++)this._invSubKeys[s]=this._subKeys[15-s]}_doCryptBlock(t,s,r){this._lBlock=t[s],this._rBlock=t[s+1],this._exchangeLR(4,252645135),this._exchangeLR(16,65535),this._exchangeRL(2,858993459),this._exchangeRL(8,16711935),this._exchangeLR(1,1431655765);for(let e=0;e<16;e++){let o=r[e],i=0;for(let h=0;h<8;h++)i|=ps[h][((this._rBlock^o[h])&ws[h])>>>0];[this._lBlock,this._rBlock]=[this._rBlock,this._lBlock^i]}[this._lBlock,this._rBlock]=[this._rBlock,this._lBlock],this._exchangeLR(1,1431655765),this._exchangeRL(8,16711935),this._exchangeRL(2,858993459),this._exchangeLR(16,65535),this._exchangeLR(4,252645135),t[s]=this._lBlock,t[s+1]=this._rBlock}_exchangeLR(t,s){let r=(this._lBlock>>>t^this._rBlock)&s;this._rBlock^=r,this._lBlock^=r<<t}_exchangeRL(t,s){let r=(this._rBlock>>>t^this._lBlock)&s;this._lBlock^=r,this._rBlock^=r<<t}};z.blockSize=64/32;z.ivSize=64/32;z.keySize=64/32;var G=class extends u{constructor(t,s,r){super(t,s,r),this.reset()}decryptBlock(t,s){this._des3.decryptBlock(t,s),this._des2.encryptBlock(t,s),this._des1.decryptBlock(t,s)}encryptBlock(t,s){this._des1.encryptBlock(t,s),this._des2.decryptBlock(t,s),this._des3.encryptBlock(t,s)}reset(){if(super.reset(),this._key.words.length!==2&&this._key.words.length!==4&&this._key.words.length<6)throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");let t=this._key.words.slice(0,2),s=this._key.words.length<4?this._key.words.slice(0,2):this._key.words.slice(2,4),r=this._key.words.length<6?this._key.words.slice(0,2):this._key.words.slice(4,6);this._des1=z.createEncryptor(new f(t)),this._des2=z.createEncryptor(new f(s)),this._des3=z.createEncryptor(new f(r))}};G.blockSize=192/32;G.ivSize=64/32;G.keySize=64/32;var _s=[1732584193,4023233417,2562383102,271733878,3285377520],q=new Array(80),ot=class extends m{get hash(){return this._hash}reset(){super.reset(),this._hash=new f(_s.slice(0))}_doFinalize(){let t=this._nDataBytes*8,s=this._data.sigBytes*8;return this._data.words[s>>>5]|=128<<24-s%32,this._data.words[(s+64>>>9<<4)+14]=Math.floor(t/4294967296),this._data.words[(s+64>>>9<<4)+15]=t,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}_doProcessBlock(t,s){let r=this._hash.words[0],e=this._hash.words[1],o=this._hash.words[2],i=this._hash.words[3],h=this._hash.words[4];for(let c=0;c<80;c++){if(c<16)q[c]=t[s+c]|0;else{let _=q[c-3]^q[c-8]^q[c-14]^q[c-16];q[c]=_<<1|_>>>31}let d,w;c<20?(d=e&o|~e&i,w=1518500249):c<40?(d=e^o^i,w=1859775393):c<60?(d=e&o|e&i|o&i,w=2400959708):(d=e^o^i,w=3395469782);let p=(r<<5|r>>>27)+d+h+w+q[c];h=i,i=o,o=e<<30|e>>>2,e=r,r=p|0}this._hash.words[0]=this._hash.words[0]+r|0,this._hash.words[1]=this._hash.words[1]+e|0,this._hash.words[2]=this._hash.words[2]+o|0,this._hash.words[3]=this._hash.words[3]+i|0,this._hash.words[4]=this._hash.words[4]+h|0}};var qt=[],Zt=[];(function(){function n(e){let o=Math.sqrt(e);for(let i=2;i<=o;i++)if(!(e%i))return!1;return!0}function t(e){return(e-(e|0))*4294967296|0}let s=2,r=0;for(;r<64;)n(s)&&(r<8&&(qt[r]=t(Math.pow(s,1/2))),Zt[r]=t(Math.pow(s,1/3)),r++),s++})();var Z=[],T=class extends m{constructor(){super()}reset(){super.reset(),this._hash=new f(qt.slice(0))}_doFinalize(){let t=this._nDataBytes*8,s=this._data.sigBytes*8;return this._data.words[s>>>5]|=128<<24-s%32,this._data.words[(s+64>>>9<<4)+14]=Math.floor(t/4294967296),this._data.words[(s+64>>>9<<4)+15]=t,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}_doProcessBlock(t,s){let r=this._hash.words[0],e=this._hash.words[1],o=this._hash.words[2],i=this._hash.words[3],h=this._hash.words[4],c=this._hash.words[5],d=this._hash.words[6],w=this._hash.words[7];for(let p=0;p<64;p++){if(p<16)Z[p]=t[s+p]|0;else{let k=Z[p-15],g=(k<<25|k>>>7)^(k<<14|k>>>18)^k>>>3,x=Z[p-2],v=(x<<15|x>>>17)^(x<<13|x>>>19)^x>>>10;Z[p]=g+Z[p-7]+v+Z[p-16]}let _=h&c^~h&d,y=r&e^r&o^e&o,H=(r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22),R=(h<<26|h>>>6)^(h<<21|h>>>11)^(h<<7|h>>>25),b=w+R+_+Zt[p]+Z[p],C=H+y;w=d,d=c,c=h,h=i+b|0,i=o,o=e,e=r,r=b+C|0}this._hash.words[0]=this._hash.words[0]+r|0,this._hash.words[1]=this._hash.words[1]+e|0,this._hash.words[2]=this._hash.words[2]+o|0,this._hash.words[3]=this._hash.words[3]+i|0,this._hash.words[4]=this._hash.words[4]+h|0,this._hash.words[5]=this._hash.words[5]+c|0,this._hash.words[6]=this._hash.words[6]+d|0,this._hash.words[7]=this._hash.words[7]+w|0}};var zt=[new a(1116352408,3609767458),new a(1899447441,602891725),new a(3049323471,3964484399),new a(3921009573,2173295548),new a(961987163,4081628472),new a(1508970993,3053834265),new a(2453635748,2937671579),new a(2870763221,3664609560),new a(3624381080,2734883394),new a(310598401,1164996542),new a(607225278,1323610764),new a(1426881987,3590304994),new a(1925078388,4068182383),new a(2162078206,991336113),new a(2614888103,633803317),new a(3248222580,3479774868),new a(3835390401,2666613458),new a(4022224774,944711139),new a(264347078,2341262773),new a(604807628,2007800933),new a(770255983,1495990901),new a(1249150122,1856431235),new a(1555081692,3175218132),new a(1996064986,2198950837),new a(2554220882,3999719339),new a(2821834349,766784016),new a(2952996808,2566594879),new a(3210313671,3203337956),new a(3336571891,1034457026),new a(3584528711,2466948901),new a(113926993,3758326383),new a(338241895,168717936),new a(666307205,1188179964),new a(773529912,1546045734),new a(1294757372,1522805485),new a(1396182291,2643833823),new a(1695183700,2343527390),new a(1986661051,1014477480),new a(2177026350,1206759142),new a(2456956037,344077627),new a(2730485921,1290863460),new a(2820302411,3158454273),new a(3259730800,3505952657),new a(3345764771,106217008),new a(3516065817,3606008344),new a(3600352804,1432725776),new a(4094571909,1467031594),new a(275423344,851169720),new a(430227734,3100823752),new a(506948616,1363258195),new a(659060556,3750685593),new a(883997877,3785050280),new a(958139571,3318307427),new a(1322822218,3812723403),new a(1537002063,2003034995),new a(1747873779,3602036899),new a(1955562222,1575990012),new a(2024104815,1125592928),new a(2227730452,2716904306),new a(2361852424,442776044),new a(2428436474,593698344),new a(2756734187,3733110249),new a(3204031479,2999351573),new a(3329325298,3815920427),new a(3391569614,3928383900),new a(3515267271,566280711),new a(3940187606,3454069534),new a(4118630271,4000239992),new a(116418474,1914138554),new a(174292421,2731055270),new a(289380356,3203993006),new a(460393269,320620315),new a(685471733,587496836),new a(852142971,1086792851),new a(1017036298,365543100),new a(1126000580,2618297676),new a(1288033470,3409855158),new a(1501505948,4234509866),new a(1607167915,987167468),new a(1816402316,1246189591)],E=[];(function(){for(let n=0;n<80;n++)E[n]=new a(void 0,void 0)})();var it=class extends m{constructor(){super({blockSize:1024/32})}reset(){super.reset(),this._hash=new V([new a(1779033703,4089235720),new a(3144134277,2227873595),new a(1013904242,4271175723),new a(2773480762,1595750129),new a(1359893119,2917565137),new a(2600822924,725511199),new a(528734635,4215389547),new a(1541459225,327033209)])}_doFinalize(){let t=this._data,s=t.words,r=this._nDataBytes*8,e=t.sigBytes*8;return s[e>>>5]|=128<<24-e%32,s[(e+128>>>10<<5)+30]=Math.floor(r/4294967296),s[(e+128>>>10<<5)+31]=r,t.sigBytes=s.length*4,this._process(),this._hash.toX32()}_doProcessBlock(t,s){let r=this._hash.words[0].high,e=this._hash.words[0].low,o=this._hash.words[1].high,i=this._hash.words[1].low,h=this._hash.words[2].high,c=this._hash.words[2].low,d=this._hash.words[3].high,w=this._hash.words[3].low,p=this._hash.words[4].high,_=this._hash.words[4].low,y=this._hash.words[5].high,H=this._hash.words[5].low,R=this._hash.words[6].high,b=this._hash.words[6].low,C=this._hash.words[7].high,k=this._hash.words[7].low;for(let g=0;g<80;g++){let x,v;if(g<16)v=E[g].high=t[s+g*2]|0,x=E[g].low=t[s+g*2+1]|0;else{let Gt=E[g-15],Y=Gt.high,nt=Gt.low,es=(Y>>>1|nt<<31)^(Y>>>8|nt<<24)^Y>>>7,Ot=(nt>>>1|Y<<31)^(nt>>>8|Y<<24)^(nt>>>7|Y<<25),Lt=E[g-2],$=Lt.high,ct=Lt.low,rs=($>>>19|ct<<13)^($<<3|ct>>>29)^$>>>6,Xt=(ct>>>19|$<<13)^(ct<<3|$>>>29)^(ct>>>6|$<<26);x=Ot+E[g-7].low,v=es+E[g-7].high+(x>>>0<Ot>>>0?1:0),x=x+Xt,v=v+rs+(x>>>0<Xt>>>0?1:0),x=x+E[g-16].low,v=v+E[g-16].high+(x>>>0<E[g-16].low>>>0?1:0),E[g].high=v,E[g].low=x}let ut=p&y^~p&R,Kt=_&H^~_&b,Jt=r&o^r&h^o&h,Qt=e&i^e&c^i&c,Yt=(r>>>28|e<<4)^(r<<30|e>>>2)^(r<<25|e>>>7),Dt=(e>>>28|r<<4)^(e<<30|r>>>2)^(e<<25|r>>>7),$t=(p>>>14|_<<18)^(p>>>18|_<<14)^(p<<23|_>>>9),ts=(_>>>14|p<<18)^(_>>>18|p<<14)^(_<<23|p>>>9),F=k+ts,O=C+$t+(F>>>0<k>>>0?1:0);F=F+Kt,O=O+ut+(F>>>0<Kt>>>0?1:0),F=F+zt[g].low,O=O+zt[g].high+(F>>>0<zt[g].low>>>0?1:0),F=F+x,O=O+v+(F>>>0<x>>>0?1:0);let At=Dt+Qt,ss=Yt+Jt+(At>>>0<Dt>>>0?1:0);C=R,k=b,R=y,b=H,y=p,H=_,_=w+F|0,p=d+O+(_>>>0<w>>>0?1:0)|0,d=h,w=c,h=o,c=i,o=r,i=e,e=F+At|0,r=O+ss+(e>>>0<F>>>0?1:0)|0}this._hash.words[0].low=this._hash.words[0].low=this._hash.words[0].low+e,this._hash.words[0].high=this._hash.words[0].high+r+(this._hash.words[0].low>>>0<e>>>0?1:0),this._hash.words[1].low=this._hash.words[1].low=this._hash.words[1].low+i,this._hash.words[1].high=this._hash.words[1].high+o+(this._hash.words[1].low>>>0<i>>>0?1:0),this._hash.words[2].low=this._hash.words[2].low=this._hash.words[2].low+c,this._hash.words[2].high=this._hash.words[2].high+h+(this._hash.words[2].low>>>0<c>>>0?1:0),this._hash.words[3].low=this._hash.words[3].low=this._hash.words[3].low+w,this._hash.words[3].high=this._hash.words[3].high+d+(this._hash.words[3].low>>>0<w>>>0?1:0),this._hash.words[4].low=this._hash.words[4].low=this._hash.words[4].low+_,this._hash.words[4].high=this._hash.words[4].high+p+(this._hash.words[4].low>>>0<_>>>0?1:0),this._hash.words[5].low=this._hash.words[5].low=this._hash.words[5].low+H,this._hash.words[5].high=this._hash.words[5].high+y+(this._hash.words[5].low>>>0<H>>>0?1:0),this._hash.words[6].low=this._hash.words[6].low=this._hash.words[6].low+b,this._hash.words[6].high=this._hash.words[6].high+R+(this._hash.words[6].low>>>0<b>>>0?1:0),this._hash.words[7].low=this._hash.words[7].low=this._hash.words[7].low+k,this._hash.words[7].high=this._hash.words[7].high+C+(this._hash.words[7].low>>>0<k>>>0?1:0)}};var wt=class{static parse(t){let s=t.length,r=[];for(let e=0;e<s;e++)r[e>>>1]|=t.charCodeAt(e)<<16-e%2*16;return new f(r,s*2)}static stringify(t){let s=t.words,r=t.sigBytes,e=[];for(let o=0;o<r;o+=2){let i=s[o>>>2]>>>16-o%4*8&65535;e.push(String.fromCharCode(i))}return e.join("")}};var _t=class{constructor(t,s){this._hasher=new t;let r=typeof s=="string"?L.parse(s):s,e=this._hasher.cfg.blockSize,o=e*4;r.sigBytes>o&&(r=this._hasher.finalize(r)),r.clamp();let i=this._oKey=r.clone(),h=this._iKey=r.clone(),c=i.words,d=h.words;for(let w=0;w<e;w++)c[w]^=1549556828,d[w]^=909522486;i.sigBytes=h.sigBytes=o,this.reset()}finalize(t){let s=this._hasher.finalize(t);return this._hasher.reset(),this._hasher.finalize(this._oKey.clone().concat(s))}reset(){this._hasher.reset(),this._hasher.update(this._iKey)}update(t){return this._hasher.update(t),this}};var gt=class n{constructor(t){this.cfg=Object.assign({keySize:128/32,hasher:T,iterations:25e4},t)}static execute(t,s,r){return new n(r).compute(t,s)}compute(t,s){let r=this.cfg,e=new _t(r.hasher,t),o=new f,i=new f([1]),h=o.words,c=i.words,d=r.keySize,w=r.iterations;for(;h.length<d;){let p=e.update(s).finalize(i);e.reset();let _=p.words,y=_.length,H=p;for(let R=1;R<w;R++){H=e.finalize(H),e.reset();let b=H.words;for(let C=0;C<y;C++)_[C]^=b[C]}o.concat(p),c[0]++}return o.sigBytes=d*4,o}};var bt=u._createHelper(P);var Ct=function(){let n=Date.now().toString(36),t=globalThis.crypto;if(t?.getRandomValues){let s=new Uint8Array(8);t.getRandomValues(s);let r="";for(let e=0;e<s.length;e++){let o=s[e].toString(16);r+=o.length===1?"0"+o:o}return n+"-"+r}return n+"-"+Math.random().toString(36).slice(2,10)};var vt=u._createHelper(z);var It=m._createHelper(X);var Et=m._createHelper(ot);var Rt=m._createHelper(T);var Mt=m._createHelper(it);var Wt=u._createHelper(G);var ht=class extends B{constructor(){super(...arguments),this._counter=[]}processBlock(t,s){let r=this._cipher.cfg.blockSize;this._iv&&(this._counter=this._iv.slice(0),this._iv=void 0);let e=this._counter.slice(0);this._cipher.encryptBlock(e,0),this._counter[r-1]=this._counter[r-1]+1|0;for(let o=0;o<r;o++)t[s+o]^=e[o]}};var mt=class extends ht{};var J=class extends W{};J.Decryptor=mt;J.Encryptor=ht;var xt=class extends B{processBlock(t,s){this._cipher.encryptBlock(t,s)}};var yt=class extends B{processBlock(t,s){this._cipher.decryptBlock(t,s)}};var Q=class extends W{};Q.Decryptor=yt;Q.Encryptor=xt;var at=class{static pad(t,s){}static unpad(t){}};
|
|
1
|
+
"use strict";var St=Object.defineProperty;var ns=Object.getOwnPropertyDescriptor;var cs=Object.getOwnPropertyNames;var as=Object.prototype.hasOwnProperty;var ls=(n,t)=>{for(var s in t)St(n,s,{get:t[s],enumerable:!0})},fs=(n,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of cs(t))!as.call(n,e)&&e!==s&&St(n,e,{get:()=>t[e],enumerable:!(r=ns(t,e))||r.enumerable});return n};var ds=n=>fs(St({},"__esModule",{value:!0}),n);var us={};ls(us,{AES:()=>P,Base64:()=>K,BlockCipher:()=>u,CBC:()=>A,CTR:()=>J,CipherParams:()=>M,DES:()=>b,ECB:()=>Q,EVPKDF:()=>rt,Hasher:()=>m,Hex:()=>tt,Latin1:()=>U,MD5:()=>j,NoPadding:()=>ft,PBKDF2:()=>xt,PKCS7:()=>N,PasswordBasedCipher:()=>D,SHA1:()=>ot,SHA256:()=>T,SHA512:()=>it,SerializableCipher:()=>I,TripleDES:()=>O,Utf16:()=>gt,Utf8:()=>L,WordArray:()=>f,X64Word:()=>a,X64WordArray:()=>V,aesHelper:()=>vt,correlationIdHelper:()=>It,desHelper:()=>Et,md5Helper:()=>Rt,sha1Helper:()=>Mt,sha256Helper:()=>Wt,sha512Helper:()=>Kt,tripleDesHelper:()=>Dt,uuidV4Helper:()=>At});module.exports=ds(us);var tt=class{static parse(t){let s=t.length,r=[];for(let e=0;e<s;e+=2)r[e>>>3]|=parseInt(t.substr(e,2),16)<<24-e%8*4;return new f(r,s/2)}static stringify(t){let s=[];for(let r=0;r<t.sigBytes;r++){let e=t.words[r>>>2]>>>24-r%4*8&255;s.push((e>>>4).toString(16)),s.push((e&15).toString(16))}return s.join("")}};var f=class n{constructor(t,s){this.words=t||[],s!==void 0?this.sigBytes=s:this.sigBytes=this.words.length*4}static random(t){let s=[],r=(function(e){let o=987654321,i=4294967295;return function(){o=36969*(o&65535)+(o>>16)&i,e=18e3*(e&65535)+(e>>16)&i;let h=(o<<16)+e&i;return h/=4294967296,h+=.5,h*(Math.random()>.5?1:-1)}});for(let e=0,o;e<t;e+=4){let i=r((o||Math.random())*4294967296);o=i()*987654071,s.push(i()*4294967296|0)}return new n(s,t)}clamp(){this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4)}clone(){return new n(this.words.slice(0),this.sigBytes)}concat(t){if(this.clamp(),this.sigBytes%4)for(let s=0;s<t.sigBytes;s++){let r=t.words[s>>>2]>>>24-s%4*8&255;this.words[this.sigBytes+s>>>2]|=r<<24-(this.sigBytes+s)%4*8}else for(let s=0;s<t.sigBytes;s+=4)this.words[this.sigBytes+s>>>2]=t.words[s>>>2];return this.sigBytes+=t.sigBytes,this}toString(t){return(t||tt).stringify(this)}};var U=class{static parse(t){let s=t.length,r=[];for(let e=0;e<s;e++)r[e>>>2]|=(t.charCodeAt(e)&255)<<24-e%4*8;return new f(r,s)}static stringify(t){let s=[];for(let r=0;r<t.sigBytes;r++){let e=t.words[r>>>2]>>>24-r%4*8&255;s.push(String.fromCharCode(e))}return s.join("")}};var L=class{static parse(t){return U.parse(unescape(encodeURIComponent(t)))}static stringify(t){try{return decodeURIComponent(escape(U.stringify(t)))}catch(s){throw console.error("Malformed UTF-8 data",s),new Error("Malformed UTF-8 data",{cause:s})}}};var st=class{constructor(t){this._minBufferSize=0,this.cfg=Object.assign({blockSize:1},t),this._data=new f,this._nDataBytes=0}clone(){let t=this.constructor();for(let s in this)Object.prototype.hasOwnProperty.call(this,s)&&(t[s]=this[s]);return t._data=this._data.clone(),t}reset(){this._data=new f,this._nDataBytes=0}_append(t){typeof t=="string"&&(t=L.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes}_process(t){if(!this.cfg.blockSize)throw new Error("missing blockSize in config");let s=this.cfg.blockSize*4,r=this._data.sigBytes/s;t?r=Math.ceil(r):r=Math.max((r|0)-this._minBufferSize,0);let e=r*this.cfg.blockSize,o=Math.min(e*4,this._data.sigBytes),i;if(e){for(let h=0;h<e;h+=this.cfg.blockSize)this._doProcessBlock(this._data.words,h);i=this._data.words.splice(0,e),this._data.sigBytes-=o}return new f(i,o)}};var M=class{constructor(t){this.ciphertext=t.ciphertext,this.key=t.key,this.iv=t.iv,this.salt=t.salt,this.algorithm=t.algorithm,this.mode=t.mode,this.padding=t.padding,this.blockSize=t.blockSize,this.formatter=t.formatter}extend(t){return t.ciphertext!==void 0&&(this.ciphertext=t.ciphertext),t.key!==void 0&&(this.key=t.key),t.iv!==void 0&&(this.iv=t.iv),t.salt!==void 0&&(this.salt=t.salt),t.algorithm!==void 0&&(this.algorithm=t.algorithm),t.mode!==void 0&&(this.mode=t.mode),t.padding!==void 0&&(this.padding=t.padding),t.blockSize!==void 0&&(this.blockSize=t.blockSize),t.formatter!==void 0&&(this.formatter=t.formatter),this}toString(t){if(t)return t.stringify(this);if(this.formatter)return this.formatter.stringify(this);throw new Error("cipher needs a formatter to be able to convert the result into a string")}};var K=class{static parse(t){let s=t.length;if(this._reverseMap===void 0){this._reverseMap=[];for(let e=0;e<this._map.length;e++)this._reverseMap[this._map.charCodeAt(e)]=e}let r=this._map.charAt(64);if(r){let e=t.indexOf(r);e!==-1&&(s=e)}return this.parseLoop(t,s,this._reverseMap)}static parseLoop(t,s,r){let e=[],o=0;for(let i=0;i<s;i++)if(i%4){let h=r[t.charCodeAt(i-1)]<<i%4*2,c=r[t.charCodeAt(i)]>>>6-i%4*2;e[o>>>2]|=(h|c)<<24-o%4*8,o++}return new f(e,o)}static stringify(t){t.clamp();let s=[];for(let e=0;e<t.sigBytes;e+=3){let o=t.words[e>>>2]>>>24-e%4*8&255,i=t.words[e+1>>>2]>>>24-(e+1)%4*8&255,h=t.words[e+2>>>2]>>>24-(e+2)%4*8&255,c=o<<16|i<<8|h;for(let d=0;d<4&&e+d*.75<t.sigBytes;d++)s.push(this._map.charAt(c>>>6*(3-d)&63))}let r=this._map.charAt(64);if(r)for(;s.length%4;)s.push(r);return s.join("")}};K._map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";K._reverseMap=void 0;var et=class{static parse(t){let s=K.parse(t),r;return s.words[0]===1398893684&&s.words[1]===1701076831&&(r=new f(s.words.slice(2,4)),s.words.splice(0,4),s.sigBytes-=16),new M({ciphertext:s,salt:r})}static stringify(t){if(!t.ciphertext)throw new Error("missing ciphertext in params");let s=t.ciphertext,r=t.salt,e;if(r){if(typeof r=="string")throw new Error("salt is expected to be a WordArray");e=new f([1398893684,1701076831]).concat(r).concat(s)}else e=s;return e.toString(K)}};var I=class{static decrypt(t,s,r,e){let o=Object.assign({},this.cfg,e);if(!o.format)throw new Error("could not determine format");if(s=this._parse(s,o.format),!s.ciphertext)throw new Error("could not determine ciphertext");return t.createDecryptor(r,o).finalize(s.ciphertext)}static encrypt(t,s,r,e){let o=Object.assign({},this.cfg,e),i=t.createEncryptor(r,o),h=i.finalize(s);return new M({ciphertext:h,key:r,iv:i.cfg.iv,algorithm:t,mode:i.cfg.mode,padding:i.cfg.padding,blockSize:i.cfg.blockSize,formatter:o.format})}static _parse(t,s){return typeof t=="string"?s.parse(t):t}};I.cfg={blockSize:4,iv:new f([]),format:et};var m=class extends st{constructor(t){super(Object.assign({blockSize:512/32},t)),this.reset()}static _createHelper(t){function s(r,e){return new t(e).finalize(r)}return s}finalize(t){return t&&this._append(t),this._doFinalize()}update(t){return this._append(t),this._process(),this}};var l=[];for(let n=0;n<64;n++)l[n]=Math.abs(Math.sin(n+1))*4294967296|0;var j=class n extends m{get hash(){return this._hash}static FF(t,s,r,e,o,i,h){let c=t+(s&r|~s&e)+o+h;return(c<<i|c>>>32-i)+s}static GG(t,s,r,e,o,i,h){let c=t+(s&e|r&~e)+o+h;return(c<<i|c>>>32-i)+s}static HH(t,s,r,e,o,i,h){let c=t+(s^r^e)+o+h;return(c<<i|c>>>32-i)+s}static II(t,s,r,e,o,i,h){let c=t+(r^(s|~e))+o+h;return(c<<i|c>>>32-i)+s}reset(){super.reset(),this._hash=new f([1732584193,4023233417,2562383102,271733878])}_doFinalize(){let t=this._nDataBytes*8,s=this._data.sigBytes*8;this._data.words[s>>>5]|=128<<24-s%32;let r=Math.floor(t/4294967296),e=t;this._data.words[(s+64>>>9<<4)+15]=(r<<8|r>>>24)&16711935|(r<<24|r>>>8)&4278255360,this._data.words[(s+64>>>9<<4)+14]=(e<<8|e>>>24)&16711935|(e<<24|e>>>8)&4278255360,this._data.sigBytes=(this._data.words.length+1)*4,this._process();for(let o=0;o<4;o++)this._hash.words[o]=(this._hash.words[o]<<8|this._hash.words[o]>>>24)&16711935|(this._hash.words[o]<<24|this._hash.words[o]>>>8)&4278255360;return this._hash}_doProcessBlock(t,s){for(let c=0;c<16;c++){let d=s+c,w=t[d];t[d]=(w<<8|w>>>24)&16711935|(w<<24|w>>>8)&4278255360}let r=Array.from({length:16});for(let c=0;c<16;c++)r[c]=t[s+c];let e=this._hash.words[0],o=this._hash.words[1],i=this._hash.words[2],h=this._hash.words[3];e=n.FF(e,o,i,h,r[0],7,l[0]),h=n.FF(h,e,o,i,r[1],12,l[1]),i=n.FF(i,h,e,o,r[2],17,l[2]),o=n.FF(o,i,h,e,r[3],22,l[3]),e=n.FF(e,o,i,h,r[4],7,l[4]),h=n.FF(h,e,o,i,r[5],12,l[5]),i=n.FF(i,h,e,o,r[6],17,l[6]),o=n.FF(o,i,h,e,r[7],22,l[7]),e=n.FF(e,o,i,h,r[8],7,l[8]),h=n.FF(h,e,o,i,r[9],12,l[9]),i=n.FF(i,h,e,o,r[10],17,l[10]),o=n.FF(o,i,h,e,r[11],22,l[11]),e=n.FF(e,o,i,h,r[12],7,l[12]),h=n.FF(h,e,o,i,r[13],12,l[13]),i=n.FF(i,h,e,o,r[14],17,l[14]),o=n.FF(o,i,h,e,r[15],22,l[15]),e=n.GG(e,o,i,h,r[1],5,l[16]),h=n.GG(h,e,o,i,r[6],9,l[17]),i=n.GG(i,h,e,o,r[11],14,l[18]),o=n.GG(o,i,h,e,r[0],20,l[19]),e=n.GG(e,o,i,h,r[5],5,l[20]),h=n.GG(h,e,o,i,r[10],9,l[21]),i=n.GG(i,h,e,o,r[15],14,l[22]),o=n.GG(o,i,h,e,r[4],20,l[23]),e=n.GG(e,o,i,h,r[9],5,l[24]),h=n.GG(h,e,o,i,r[14],9,l[25]),i=n.GG(i,h,e,o,r[3],14,l[26]),o=n.GG(o,i,h,e,r[8],20,l[27]),e=n.GG(e,o,i,h,r[13],5,l[28]),h=n.GG(h,e,o,i,r[2],9,l[29]),i=n.GG(i,h,e,o,r[7],14,l[30]),o=n.GG(o,i,h,e,r[12],20,l[31]),e=n.HH(e,o,i,h,r[5],4,l[32]),h=n.HH(h,e,o,i,r[8],11,l[33]),i=n.HH(i,h,e,o,r[11],16,l[34]),o=n.HH(o,i,h,e,r[14],23,l[35]),e=n.HH(e,o,i,h,r[1],4,l[36]),h=n.HH(h,e,o,i,r[4],11,l[37]),i=n.HH(i,h,e,o,r[7],16,l[38]),o=n.HH(o,i,h,e,r[10],23,l[39]),e=n.HH(e,o,i,h,r[13],4,l[40]),h=n.HH(h,e,o,i,r[0],11,l[41]),i=n.HH(i,h,e,o,r[3],16,l[42]),o=n.HH(o,i,h,e,r[6],23,l[43]),e=n.HH(e,o,i,h,r[9],4,l[44]),h=n.HH(h,e,o,i,r[12],11,l[45]),i=n.HH(i,h,e,o,r[15],16,l[46]),o=n.HH(o,i,h,e,r[2],23,l[47]),e=n.II(e,o,i,h,r[0],6,l[48]),h=n.II(h,e,o,i,r[7],10,l[49]),i=n.II(i,h,e,o,r[14],15,l[50]),o=n.II(o,i,h,e,r[5],21,l[51]),e=n.II(e,o,i,h,r[12],6,l[52]),h=n.II(h,e,o,i,r[3],10,l[53]),i=n.II(i,h,e,o,r[10],15,l[54]),o=n.II(o,i,h,e,r[1],21,l[55]),e=n.II(e,o,i,h,r[8],6,l[56]),h=n.II(h,e,o,i,r[15],10,l[57]),i=n.II(i,h,e,o,r[6],15,l[58]),o=n.II(o,i,h,e,r[13],21,l[59]),e=n.II(e,o,i,h,r[4],6,l[60]),h=n.II(h,e,o,i,r[11],10,l[61]),i=n.II(i,h,e,o,r[2],15,l[62]),o=n.II(o,i,h,e,r[9],21,l[63]),this._hash.words[0]=this._hash.words[0]+e|0,this._hash.words[1]=this._hash.words[1]+o|0,this._hash.words[2]=this._hash.words[2]+i|0,this._hash.words[3]=this._hash.words[3]+h|0}};var rt=class n{constructor(t){this.cfg=Object.assign({keySize:128/32,hasher:j,iterations:1},t)}static execute(t,s,r){return new n(r).compute(t,s)}compute(t,s){let r=new this.cfg.hasher,e=new f,o;for(;e.words.length<this.cfg.keySize;){o&&r.update(o),o=r.update(t).finalize(s),r.reset();for(let i=1;i<this.cfg.iterations;i++)o=r.finalize(o),r.reset();e.concat(o)}return e.sigBytes=this.cfg.keySize*4,e}};var dt=class{static execute(t,s,r,e){e||(e=f.random(64/8));let o=new rt({keySize:s+r}).compute(t,e),i=new f(o.words.slice(s),r*4);return o.sigBytes=s*4,new M({key:o,iv:i,salt:e})}};var D=class{static decrypt(t,s,r,e){let o=Object.assign({},this.cfg,e);if(o.format===void 0)throw new Error("missing format in config");if(s=this._parse(s,o.format),o.kdf===void 0)throw new Error("the key derivation function must be set");let i=o.kdf.execute(r,t.keySize,t.ivSize,s.salt);return i.iv!==void 0&&(o.iv=i.iv),I.decrypt.call(this,t,s,i.key,o)}static encrypt(t,s,r,e){let o=Object.assign({},this.cfg,e);if(o.kdf===void 0)throw new Error("missing kdf in config");let i=o.kdf.execute(r,t.keySize,t.ivSize);return i.iv!==void 0&&(o.iv=i.iv),I.encrypt.call(this,t,s,i.key,o).extend(i)}static _parse(t,s){return typeof t=="string"?s.parse(t):t}};D.cfg={blockSize:4,iv:new f([]),format:et,kdf:dt};var pt=class{constructor(t){this._cipher=t}decrypt(t,s,r){return typeof s=="string"?D.decrypt(this._cipher,t,s,r):I.decrypt(this._cipher,t,s,r)}encrypt(t,s,r){return typeof s=="string"?D.encrypt(this._cipher,t,s,r):I.encrypt(this._cipher,t,s,r)}};var X=class extends st{constructor(t,s,r){super(Object.assign({blockSize:1},r)),this._xformMode=t,this._key=s,this.reset()}static _createHelper(t){return new pt(t)}static createDecryptor(t,s){let r=this;return new r(this._DEC_XFORM_MODE,t,s)}static createEncryptor(t,s){return new this(this._ENC_XFORM_MODE,t,s)}finalize(t){return t&&this._append(t),this._doFinalize()}process(t){return this._append(t),this._process()}};X.ivSize=4;X.keySize=4;X._DEC_XFORM_MODE=2;X._ENC_XFORM_MODE=1;var B=class{constructor(t,s){this.init(t,s)}init(t,s){this._cipher=t,this._iv=s}};var W=class{static createDecryptor(t,s){let r=this.Decryptor;return new r(t,s)}static createEncryptor(t,s){let r=this.Encryptor;return new r(t,s)}};W.Decryptor=B;W.Encryptor=B;var wt=class extends B{get prevBlock(){return this._prevBlock}processBlock(t,s){if(this._cipher.cfg.blockSize===void 0)throw new Error("missing blockSize in cipher config");this.xorBlock(t,s,this._cipher.cfg.blockSize),this._cipher.encryptBlock(t,s),this._prevBlock=t.slice(s,s+this._cipher.cfg.blockSize)}xorBlock(t,s,r){let e;this._iv?(e=this._iv,this._iv=void 0):e=this._prevBlock;for(let o=0;o<r;o++)t[s+o]^=e[o]}};var _t=class extends B{get prevBlock(){return this._prevBlock}processBlock(t,s){if(this._cipher.cfg.blockSize===void 0)throw new Error("missing blockSize in cipher config");let r=t.slice(s,s+this._cipher.cfg.blockSize);this._cipher.decryptBlock(t,s),this.xorBlock(t,s,this._cipher.cfg.blockSize),this._prevBlock=r}xorBlock(t,s,r){let e;this._iv?(e=this._iv,this._iv=void 0):e=this._prevBlock;for(let o=0;o<r;o++)t[s+o]^=e[o]}};var A=class extends W{};A.Decryptor=_t;A.Encryptor=wt;var N=class{static pad(t,s){let r=s*4,e=r-t.sigBytes%r,o=e<<24|e<<16|e<<8|e,i=[];for(let c=0;c<e;c+=4)i.push(o);let h=new f(i,e);t.concat(h)}static unpad(t){let s=t.words[t.sigBytes-1>>>2]&255;t.sigBytes-=s}};var u=class extends X{constructor(t,s,r){super(t,s,Object.assign({blockSize:4,mode:A,padding:N},r))}reset(){if(super.reset(),this.cfg.mode===void 0)throw new Error("missing mode in config");let t;this._xformMode===this.constructor._ENC_XFORM_MODE?t=this.cfg.mode.createEncryptor:(t=this.cfg.mode.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator===t?this._mode.init(this,this.cfg.iv&&this.cfg.iv.words):(this._mode=t.call(this.cfg.mode,this,this.cfg.iv&&this.cfg.iv.words),this._mode.__creator=t)}_doFinalize(){if(this.cfg.padding===void 0)throw new Error("missing padding in config");let t;if(this._xformMode===this.constructor._ENC_XFORM_MODE){if(this.cfg.blockSize===void 0)throw new Error("missing blockSize in config");this.cfg.padding.pad(this._data,this.cfg.blockSize),t=this._process(!0)}else t=this._process(!0),this.cfg.padding.unpad(t);return t}_doProcessBlock(t,s){this._mode.processBlock(t,s)}};var a=class n{constructor(t,s){this.high=t,this.low=s}add(t){let s=this.low+t.low|0,r=s>>>0<this.low>>>0?1:0,e=this.high+t.high+r|0;return new n(e,s)}and(t){return new n(this.high&t.high,this.low&t.low)}not(){return new n(~this.high,~this.low)}or(t){return new n(this.high|t.high,this.low|t.low)}rotL(t){return this.shiftL(t).or(this.shiftR(64-t))}rotR(t){return this.shiftR(t).or(this.shiftL(64-t))}shiftL(t){return t<32?new n(this.high<<t|this.low>>>32-t,this.low<<t):new n(this.low<<t-32,0)}shiftR(t){return t<32?new n(this.high>>>t,this.low>>>t|this.high<<32-t):new n(0,this.high>>>t-32)}xor(t){return new n(this.high^t.high,this.low^t.low)}};var V=class n{constructor(t=[],s){this.words=t,this.sigBytes=s!==void 0?s:t.length*8}static create(t=[],s){return new n(t,s)}clone(){let t=this.words.map(s=>new a(s.high,s.low));return new n(t,this.sigBytes)}toX32(){let t=[];for(let s of this.words)t.push(s.high,s.low);return new f(t,this.sigBytes)}};var S=[],Nt=[],Vt=[],Pt=[],qt=[],Zt=[],Ht=[],zt=[],bt=[],Ft=[];(function(){let n=[];for(let r=0;r<256;r++)r<128?n[r]=r<<1:n[r]=r<<1^283;let t=0,s=0;for(let r=0;r<256;r++){let e=s^s<<1^s<<2^s<<3^s<<4;e=e>>>8^e&255^99,S[t]=e,Nt[e]=t;let o=n[t],i=n[o],h=n[i],c=n[e]*257^e*16843008;Vt[t]=c<<24|c>>>8,Pt[t]=c<<16|c>>>16,qt[t]=c<<8|c>>>24,Zt[t]=c,c=h*16843009^i*65537^o*257^t*16843008,Ht[e]=c<<24|c>>>8,zt[e]=c<<16|c>>>16,bt[e]=c<<8|c>>>24,Ft[e]=c,t?(t=o^n[n[n[h^o]]],s^=n[n[s]]):t=s=1}})();var ps=[0,1,2,4,8,16,32,64,128,27,54],P=class extends u{constructor(t,s,r){super(t,s,r),super.reset()}decryptBlock(t,s){let r=t[s+1];t[s+1]=t[s+3],t[s+3]=r,this._doCryptBlock(t,s,this._invKeySchedule,Ht,zt,bt,Ft,Nt),r=t[s+1],t[s+1]=t[s+3],t[s+3]=r}encryptBlock(t,s){this._doCryptBlock(t,s,this._keySchedule,Vt,Pt,qt,Zt,S)}reset(){if(super.reset(),this._nRounds&&this._keyPriorReset===this._key)return;let t=this._keyPriorReset=this._key,s=t.words,r=t.sigBytes/4,o=((this._nRounds=r+6)+1)*4,i=this._keySchedule=[];for(let h=0;h<o;h++)if(h<r)i[h]=s[h];else{let c=i[h-1];h%r?r>6&&h%r===4&&(c=S[c>>>24]<<24|S[c>>>16&255]<<16|S[c>>>8&255]<<8|S[c&255]):(c=c<<8|c>>>24,c=S[c>>>24]<<24|S[c>>>16&255]<<16|S[c>>>8&255]<<8|S[c&255],c^=ps[h/r|0]<<24),i[h]=i[h-r]^c}this._invKeySchedule=[];for(let h=0;h<o;h++){let c=o-h,d;h%4?d=i[c]:d=i[c-4],h<4||c<=4?this._invKeySchedule[h]=d:this._invKeySchedule[h]=Ht[S[d>>>24]]^zt[S[d>>>16&255]]^bt[S[d>>>8&255]]^Ft[S[d&255]]}}_doCryptBlock(t,s,r,e,o,i,h,c){let d=t[s]^r[0],w=t[s+1]^r[1],p=t[s+2]^r[2],_=t[s+3]^r[3],y=4;for(let k=1;k<this._nRounds;k++){let g=e[d>>>24]^o[w>>>16&255]^i[p>>>8&255]^h[_&255]^r[y++],x=e[w>>>24]^o[p>>>16&255]^i[_>>>8&255]^h[d&255]^r[y++],v=e[p>>>24]^o[_>>>16&255]^i[d>>>8&255]^h[w&255]^r[y++],kt=e[_>>>24]^o[d>>>16&255]^i[w>>>8&255]^h[p&255]^r[y++];d=g,w=x,p=v,_=kt}let H=(c[d>>>24]<<24|c[w>>>16&255]<<16|c[p>>>8&255]<<8|c[_&255])^r[y++],R=(c[w>>>24]<<24|c[p>>>16&255]<<16|c[_>>>8&255]<<8|c[d&255])^r[y++],F=(c[p>>>24]<<24|c[_>>>16&255]<<16|c[d>>>8&255]<<8|c[w&255])^r[y++],C=(c[_>>>24]<<24|c[d>>>16&255]<<16|c[w>>>8&255]<<8|c[p&255])^r[y];t[s]=H,t[s+1]=R,t[s+2]=F,t[s+3]=C}};P.keySize=256/32;var ws=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],Jt=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],_s=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],gs=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],ms=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],b=class extends u{constructor(t,s,r){super(t,s,r),this._invSubKeys=[],this._lBlock=0,this._rBlock=0,this._subKeys=[],this.reset()}decryptBlock(t,s){this._doCryptBlock(t,s,this._invSubKeys)}encryptBlock(t,s){this._doCryptBlock(t,s,this._subKeys)}reset(){super.reset();let t=[];for(let s=0;s<56;s++){let r=ws[s]-1;t[s]=this._key.words[r>>>5]>>>31-r%32&1}this._subKeys=[];for(let s=0;s<16;s++){this._subKeys[s]=[];let r=_s[s];for(let e=0;e<24;e++)this._subKeys[s][e/6|0]|=t[(Jt[e]-1+r)%28]<<31-e%6,this._subKeys[s][4+(e/6|0)]|=t[28+(Jt[e+24]-1+r)%28]<<31-e%6;this._subKeys[s][0]=this._subKeys[s][0]<<1|this._subKeys[s][0]>>>31;for(let e=1;e<7;e++)this._subKeys[s][e]=this._subKeys[s][e]>>>(e-1)*4+3;this._subKeys[s][7]=this._subKeys[s][7]<<5|this._subKeys[s][7]>>>27}this._invSubKeys=[];for(let s=0;s<16;s++)this._invSubKeys[s]=this._subKeys[15-s]}_doCryptBlock(t,s,r){this._lBlock=t[s],this._rBlock=t[s+1],this._exchangeLR(4,252645135),this._exchangeLR(16,65535),this._exchangeRL(2,858993459),this._exchangeRL(8,16711935),this._exchangeLR(1,1431655765);for(let e=0;e<16;e++){let o=r[e],i=0;for(let h=0;h<8;h++)i|=gs[h][((this._rBlock^o[h])&ms[h])>>>0];[this._lBlock,this._rBlock]=[this._rBlock,this._lBlock^i]}[this._lBlock,this._rBlock]=[this._rBlock,this._lBlock],this._exchangeLR(1,1431655765),this._exchangeRL(8,16711935),this._exchangeRL(2,858993459),this._exchangeLR(16,65535),this._exchangeLR(4,252645135),t[s]=this._lBlock,t[s+1]=this._rBlock}_exchangeLR(t,s){let r=(this._lBlock>>>t^this._rBlock)&s;this._rBlock^=r,this._lBlock^=r<<t}_exchangeRL(t,s){let r=(this._rBlock>>>t^this._lBlock)&s;this._lBlock^=r,this._rBlock^=r<<t}};b.blockSize=64/32;b.ivSize=64/32;b.keySize=64/32;var O=class extends u{constructor(t,s,r){super(t,s,r),this.reset()}decryptBlock(t,s){this._des3.decryptBlock(t,s),this._des2.encryptBlock(t,s),this._des1.decryptBlock(t,s)}encryptBlock(t,s){this._des1.encryptBlock(t,s),this._des2.decryptBlock(t,s),this._des3.encryptBlock(t,s)}reset(){if(super.reset(),this._key.words.length!==2&&this._key.words.length!==4&&this._key.words.length<6)throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");let t=this._key.words.slice(0,2),s=this._key.words.length<4?this._key.words.slice(0,2):this._key.words.slice(2,4),r=this._key.words.length<6?this._key.words.slice(0,2):this._key.words.slice(4,6);this._des1=b.createEncryptor(new f(t)),this._des2=b.createEncryptor(new f(s)),this._des3=b.createEncryptor(new f(r))}};O.blockSize=192/32;O.ivSize=64/32;O.keySize=64/32;var xs=[1732584193,4023233417,2562383102,271733878,3285377520],q=new Array(80),ot=class extends m{get hash(){return this._hash}reset(){super.reset(),this._hash=new f(xs.slice(0))}_doFinalize(){let t=this._nDataBytes*8,s=this._data.sigBytes*8;return this._data.words[s>>>5]|=128<<24-s%32,this._data.words[(s+64>>>9<<4)+14]=Math.floor(t/4294967296),this._data.words[(s+64>>>9<<4)+15]=t,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}_doProcessBlock(t,s){let r=this._hash.words[0],e=this._hash.words[1],o=this._hash.words[2],i=this._hash.words[3],h=this._hash.words[4];for(let c=0;c<80;c++){if(c<16)q[c]=t[s+c]|0;else{let _=q[c-3]^q[c-8]^q[c-14]^q[c-16];q[c]=_<<1|_>>>31}let d,w;c<20?(d=e&o|~e&i,w=1518500249):c<40?(d=e^o^i,w=1859775393):c<60?(d=e&o|e&i|o&i,w=2400959708):(d=e^o^i,w=3395469782);let p=(r<<5|r>>>27)+d+h+w+q[c];h=i,i=o,o=e<<30|e>>>2,e=r,r=p|0}this._hash.words[0]=this._hash.words[0]+r|0,this._hash.words[1]=this._hash.words[1]+e|0,this._hash.words[2]=this._hash.words[2]+o|0,this._hash.words[3]=this._hash.words[3]+i|0,this._hash.words[4]=this._hash.words[4]+h|0}};var Qt=[],Yt=[];(function(){function n(e){let o=Math.sqrt(e);for(let i=2;i<=o;i++)if(!(e%i))return!1;return!0}function t(e){return(e-(e|0))*4294967296|0}let s=2,r=0;for(;r<64;)n(s)&&(r<8&&(Qt[r]=t(Math.pow(s,1/2))),Yt[r]=t(Math.pow(s,1/3)),r++),s++})();var Z=[],T=class extends m{constructor(){super()}reset(){super.reset(),this._hash=new f(Qt.slice(0))}_doFinalize(){let t=this._nDataBytes*8,s=this._data.sigBytes*8;return this._data.words[s>>>5]|=128<<24-s%32,this._data.words[(s+64>>>9<<4)+14]=Math.floor(t/4294967296),this._data.words[(s+64>>>9<<4)+15]=t,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}_doProcessBlock(t,s){let r=this._hash.words[0],e=this._hash.words[1],o=this._hash.words[2],i=this._hash.words[3],h=this._hash.words[4],c=this._hash.words[5],d=this._hash.words[6],w=this._hash.words[7];for(let p=0;p<64;p++){if(p<16)Z[p]=t[s+p]|0;else{let k=Z[p-15],g=(k<<25|k>>>7)^(k<<14|k>>>18)^k>>>3,x=Z[p-2],v=(x<<15|x>>>17)^(x<<13|x>>>19)^x>>>10;Z[p]=g+Z[p-7]+v+Z[p-16]}let _=h&c^~h&d,y=r&e^r&o^e&o,H=(r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22),R=(h<<26|h>>>6)^(h<<21|h>>>11)^(h<<7|h>>>25),F=w+R+_+Yt[p]+Z[p],C=H+y;w=d,d=c,c=h,h=i+F|0,i=o,o=e,e=r,r=F+C|0}this._hash.words[0]=this._hash.words[0]+r|0,this._hash.words[1]=this._hash.words[1]+e|0,this._hash.words[2]=this._hash.words[2]+o|0,this._hash.words[3]=this._hash.words[3]+i|0,this._hash.words[4]=this._hash.words[4]+h|0,this._hash.words[5]=this._hash.words[5]+c|0,this._hash.words[6]=this._hash.words[6]+d|0,this._hash.words[7]=this._hash.words[7]+w|0}};var Ct=[new a(1116352408,3609767458),new a(1899447441,602891725),new a(3049323471,3964484399),new a(3921009573,2173295548),new a(961987163,4081628472),new a(1508970993,3053834265),new a(2453635748,2937671579),new a(2870763221,3664609560),new a(3624381080,2734883394),new a(310598401,1164996542),new a(607225278,1323610764),new a(1426881987,3590304994),new a(1925078388,4068182383),new a(2162078206,991336113),new a(2614888103,633803317),new a(3248222580,3479774868),new a(3835390401,2666613458),new a(4022224774,944711139),new a(264347078,2341262773),new a(604807628,2007800933),new a(770255983,1495990901),new a(1249150122,1856431235),new a(1555081692,3175218132),new a(1996064986,2198950837),new a(2554220882,3999719339),new a(2821834349,766784016),new a(2952996808,2566594879),new a(3210313671,3203337956),new a(3336571891,1034457026),new a(3584528711,2466948901),new a(113926993,3758326383),new a(338241895,168717936),new a(666307205,1188179964),new a(773529912,1546045734),new a(1294757372,1522805485),new a(1396182291,2643833823),new a(1695183700,2343527390),new a(1986661051,1014477480),new a(2177026350,1206759142),new a(2456956037,344077627),new a(2730485921,1290863460),new a(2820302411,3158454273),new a(3259730800,3505952657),new a(3345764771,106217008),new a(3516065817,3606008344),new a(3600352804,1432725776),new a(4094571909,1467031594),new a(275423344,851169720),new a(430227734,3100823752),new a(506948616,1363258195),new a(659060556,3750685593),new a(883997877,3785050280),new a(958139571,3318307427),new a(1322822218,3812723403),new a(1537002063,2003034995),new a(1747873779,3602036899),new a(1955562222,1575990012),new a(2024104815,1125592928),new a(2227730452,2716904306),new a(2361852424,442776044),new a(2428436474,593698344),new a(2756734187,3733110249),new a(3204031479,2999351573),new a(3329325298,3815920427),new a(3391569614,3928383900),new a(3515267271,566280711),new a(3940187606,3454069534),new a(4118630271,4000239992),new a(116418474,1914138554),new a(174292421,2731055270),new a(289380356,3203993006),new a(460393269,320620315),new a(685471733,587496836),new a(852142971,1086792851),new a(1017036298,365543100),new a(1126000580,2618297676),new a(1288033470,3409855158),new a(1501505948,4234509866),new a(1607167915,987167468),new a(1816402316,1246189591)],E=[];(function(){for(let n=0;n<80;n++)E[n]=new a(void 0,void 0)})();var it=class extends m{constructor(){super({blockSize:1024/32})}reset(){super.reset(),this._hash=new V([new a(1779033703,4089235720),new a(3144134277,2227873595),new a(1013904242,4271175723),new a(2773480762,1595750129),new a(1359893119,2917565137),new a(2600822924,725511199),new a(528734635,4215389547),new a(1541459225,327033209)])}_doFinalize(){let t=this._data,s=t.words,r=this._nDataBytes*8,e=t.sigBytes*8;return s[e>>>5]|=128<<24-e%32,s[(e+128>>>10<<5)+30]=Math.floor(r/4294967296),s[(e+128>>>10<<5)+31]=r,t.sigBytes=s.length*4,this._process(),this._hash.toX32()}_doProcessBlock(t,s){let r=this._hash.words[0].high,e=this._hash.words[0].low,o=this._hash.words[1].high,i=this._hash.words[1].low,h=this._hash.words[2].high,c=this._hash.words[2].low,d=this._hash.words[3].high,w=this._hash.words[3].low,p=this._hash.words[4].high,_=this._hash.words[4].low,y=this._hash.words[5].high,H=this._hash.words[5].low,R=this._hash.words[6].high,F=this._hash.words[6].low,C=this._hash.words[7].high,k=this._hash.words[7].low;for(let g=0;g<80;g++){let x,v;if(g<16)v=E[g].high=t[s+g*2]|0,x=E[g].low=t[s+g*2+1]|0;else{let jt=E[g-15],Y=jt.high,nt=jt.low,is=(Y>>>1|nt<<31)^(Y>>>8|nt<<24)^Y>>>7,Xt=(nt>>>1|Y<<31)^(nt>>>8|Y<<24)^(nt>>>7|Y<<25),Tt=E[g-2],$=Tt.high,ct=Tt.low,hs=($>>>19|ct<<13)^($<<3|ct>>>29)^$>>>6,Ut=(ct>>>19|$<<13)^(ct<<3|$>>>29)^(ct>>>6|$<<26);x=Xt+E[g-7].low,v=is+E[g-7].high+(x>>>0<Xt>>>0?1:0),x=x+Ut,v=v+hs+(x>>>0<Ut>>>0?1:0),x=x+E[g-16].low,v=v+E[g-16].high+(x>>>0<E[g-16].low>>>0?1:0),E[g].high=v,E[g].low=x}let kt=p&y^~p&R,Ot=_&H^~_&F,$t=r&o^r&h^o&h,ts=e&i^e&c^i&c,ss=(r>>>28|e<<4)^(r<<30|e>>>2)^(r<<25|e>>>7),Gt=(e>>>28|r<<4)^(e<<30|r>>>2)^(e<<25|r>>>7),es=(p>>>14|_<<18)^(p>>>18|_<<14)^(p<<23|_>>>9),rs=(_>>>14|p<<18)^(_>>>18|p<<14)^(_<<23|p>>>9),z=k+rs,G=C+es+(z>>>0<k>>>0?1:0);z=z+Ot,G=G+kt+(z>>>0<Ot>>>0?1:0),z=z+Ct[g].low,G=G+Ct[g].high+(z>>>0<Ct[g].low>>>0?1:0),z=z+x,G=G+v+(z>>>0<x>>>0?1:0);let Lt=Gt+ts,os=ss+$t+(Lt>>>0<Gt>>>0?1:0);C=R,k=F,R=y,F=H,y=p,H=_,_=w+z|0,p=d+G+(_>>>0<w>>>0?1:0)|0,d=h,w=c,h=o,c=i,o=r,i=e,e=z+Lt|0,r=G+os+(e>>>0<z>>>0?1:0)|0}this._hash.words[0].low=this._hash.words[0].low=this._hash.words[0].low+e,this._hash.words[0].high=this._hash.words[0].high+r+(this._hash.words[0].low>>>0<e>>>0?1:0),this._hash.words[1].low=this._hash.words[1].low=this._hash.words[1].low+i,this._hash.words[1].high=this._hash.words[1].high+o+(this._hash.words[1].low>>>0<i>>>0?1:0),this._hash.words[2].low=this._hash.words[2].low=this._hash.words[2].low+c,this._hash.words[2].high=this._hash.words[2].high+h+(this._hash.words[2].low>>>0<c>>>0?1:0),this._hash.words[3].low=this._hash.words[3].low=this._hash.words[3].low+w,this._hash.words[3].high=this._hash.words[3].high+d+(this._hash.words[3].low>>>0<w>>>0?1:0),this._hash.words[4].low=this._hash.words[4].low=this._hash.words[4].low+_,this._hash.words[4].high=this._hash.words[4].high+p+(this._hash.words[4].low>>>0<_>>>0?1:0),this._hash.words[5].low=this._hash.words[5].low=this._hash.words[5].low+H,this._hash.words[5].high=this._hash.words[5].high+y+(this._hash.words[5].low>>>0<H>>>0?1:0),this._hash.words[6].low=this._hash.words[6].low=this._hash.words[6].low+F,this._hash.words[6].high=this._hash.words[6].high+R+(this._hash.words[6].low>>>0<F>>>0?1:0),this._hash.words[7].low=this._hash.words[7].low=this._hash.words[7].low+k,this._hash.words[7].high=this._hash.words[7].high+C+(this._hash.words[7].low>>>0<k>>>0?1:0)}};var gt=class{static parse(t){let s=t.length,r=[];for(let e=0;e<s;e++)r[e>>>1]|=t.charCodeAt(e)<<16-e%2*16;return new f(r,s*2)}static stringify(t){let s=t.words,r=t.sigBytes,e=[];for(let o=0;o<r;o+=2){let i=s[o>>>2]>>>16-o%4*8&65535;e.push(String.fromCharCode(i))}return e.join("")}};var mt=class{constructor(t,s){this._hasher=new t;let r=typeof s=="string"?L.parse(s):s,e=this._hasher.cfg.blockSize,o=e*4;r.sigBytes>o&&(r=this._hasher.finalize(r)),r.clamp();let i=this._oKey=r.clone(),h=this._iKey=r.clone(),c=i.words,d=h.words;for(let w=0;w<e;w++)c[w]^=1549556828,d[w]^=909522486;i.sigBytes=h.sigBytes=o,this.reset()}finalize(t){let s=this._hasher.finalize(t);return this._hasher.reset(),this._hasher.finalize(this._oKey.clone().concat(s))}reset(){this._hasher.reset(),this._hasher.update(this._iKey)}update(t){return this._hasher.update(t),this}};var xt=class n{constructor(t){this.cfg=Object.assign({keySize:128/32,hasher:T,iterations:25e4},t)}static execute(t,s,r){return new n(r).compute(t,s)}compute(t,s){let r=this.cfg,e=new mt(r.hasher,t),o=new f,i=new f([1]),h=o.words,c=i.words,d=r.keySize,w=r.iterations;for(;h.length<d;){let p=e.update(s).finalize(i);e.reset();let _=p.words,y=_.length,H=p;for(let R=1;R<w;R++){H=e.finalize(H),e.reset();let F=H.words;for(let C=0;C<y;C++)_[C]^=F[C]}o.concat(p),c[0]++}return o.sigBytes=d*4,o}};var vt=u._createHelper(P);var at=null,lt=0;function ys(n){(!at||lt+8>at.length)&&(at=new Uint8Array(new ArrayBuffer(4096)),n.getRandomValues(at),lt=0);let t=at.subarray(lt,lt+8);return lt+=8,t}var It=function(){let n=Date.now().toString(36),t=globalThis.crypto;if(t?.getRandomValues){let s=ys(t),r="";for(let e=0;e<s.length;e++){let o=s[e].toString(16);r+=o.length===1?"0"+o:o}return n+"-"+r}return n+"-"+Math.random().toString(36).slice(2,10)};var Et=u._createHelper(b);var Rt=m._createHelper(j);var Mt=m._createHelper(ot);var Wt=m._createHelper(T);var Kt=m._createHelper(it);var Dt=u._createHelper(O);var At=function(){let n=new Uint8Array(16);crypto.getRandomValues(n),n[6]=n[6]&15|64,n[8]=n[8]&63|128;let t=Array.from(n,s=>s.toString(16).padStart(2,"0"));return[t.slice(0,4).join(""),t.slice(4,6).join(""),t.slice(6,8).join(""),t.slice(8,10).join(""),t.slice(10,16).join("")].join("-")};var ht=class extends B{constructor(){super(...arguments),this._counter=[]}processBlock(t,s){let r=this._cipher.cfg.blockSize;this._iv&&(this._counter=this._iv.slice(0),this._iv=void 0);let e=this._counter.slice(0);this._cipher.encryptBlock(e,0),this._counter[r-1]=this._counter[r-1]+1|0;for(let o=0;o<r;o++)t[s+o]^=e[o]}};var yt=class extends ht{};var J=class extends W{};J.Decryptor=yt;J.Encryptor=ht;var ut=class extends B{processBlock(t,s){this._cipher.encryptBlock(t,s)}};var Bt=class extends B{processBlock(t,s){this._cipher.decryptBlock(t,s)}};var Q=class extends W{};Q.Decryptor=Bt;Q.Encryptor=ut;var ft=class{static pad(t,s){}static unpad(t){}};
|
package/dist/cjs/index.d.cts
CHANGED
|
@@ -2,6 +2,6 @@ export { BlockCipher, CipherParams, Hasher, PasswordBasedCipher, SerializableCip
|
|
|
2
2
|
export { AES, DES, MD5, SHA1, SHA256, SHA512, TripleDES } from "./algo/index.cjs";
|
|
3
3
|
export { Base64, Encoder, Hex, Latin1, Utf16, Utf8 } from "./enc/index.cjs";
|
|
4
4
|
export { EVPKDF, PBKDF2 } from "./kdf/index.cjs";
|
|
5
|
-
export { aesHelper, correlationIdHelper, desHelper, md5Helper, sha1Helper, sha256Helper, sha512Helper, tripleDesHelper } from "./helpers/index.cjs";
|
|
5
|
+
export { aesHelper, correlationIdHelper, desHelper, md5Helper, sha1Helper, sha256Helper, sha512Helper, tripleDesHelper, uuidV4Helper } from "./helpers/index.cjs";
|
|
6
6
|
export { CBC, CTR, ECB } from "./mode/index.cjs";
|
|
7
7
|
export { NoPadding, PKCS7 } from "./pad/index.cjs";
|
|
@@ -125,7 +125,7 @@ class AES extends BlockCipher {
|
|
|
125
125
|
const t0g = (sbox[s0 >>> 24] << 24 | sbox[s1 >>> 16 & 255] << 16 | sbox[s2 >>> 8 & 255] << 8 | sbox[s3 & 255]) ^ keySchedule[ksRow++];
|
|
126
126
|
const t1g = (sbox[s1 >>> 24] << 24 | sbox[s2 >>> 16 & 255] << 16 | sbox[s3 >>> 8 & 255] << 8 | sbox[s0 & 255]) ^ keySchedule[ksRow++];
|
|
127
127
|
const t2g = (sbox[s2 >>> 24] << 24 | sbox[s3 >>> 16 & 255] << 16 | sbox[s0 >>> 8 & 255] << 8 | sbox[s1 & 255]) ^ keySchedule[ksRow++];
|
|
128
|
-
const t3g = (sbox[s3 >>> 24] << 24 | sbox[s0 >>> 16 & 255] << 16 | sbox[s1 >>> 8 & 255] << 8 | sbox[s2 & 255]) ^ keySchedule[ksRow
|
|
128
|
+
const t3g = (sbox[s3 >>> 24] << 24 | sbox[s0 >>> 16 & 255] << 16 | sbox[s1 >>> 8 & 255] << 8 | sbox[s2 & 255]) ^ keySchedule[ksRow];
|
|
129
129
|
m[offset] = t0g;
|
|
130
130
|
m[offset + 1] = t1g;
|
|
131
131
|
m[offset + 2] = t2g;
|
|
@@ -1,9 +1,22 @@
|
|
|
1
|
+
const idBytes = 8;
|
|
2
|
+
const poolSize = 4096;
|
|
3
|
+
let pool = null;
|
|
4
|
+
let poolOffset = 0;
|
|
5
|
+
function nextRandomBytes(cryptoObj) {
|
|
6
|
+
if (!pool || poolOffset + idBytes > pool.length) {
|
|
7
|
+
pool = new Uint8Array(new ArrayBuffer(poolSize));
|
|
8
|
+
cryptoObj.getRandomValues(pool);
|
|
9
|
+
poolOffset = 0;
|
|
10
|
+
}
|
|
11
|
+
const bytes = pool.subarray(poolOffset, poolOffset + idBytes);
|
|
12
|
+
poolOffset += idBytes;
|
|
13
|
+
return bytes;
|
|
14
|
+
}
|
|
1
15
|
const correlationIdHelper = function() {
|
|
2
16
|
const now = Date.now().toString(36);
|
|
3
17
|
const cryptoObj = globalThis.crypto;
|
|
4
18
|
if (cryptoObj === null || cryptoObj === void 0 ? void 0 : cryptoObj.getRandomValues) {
|
|
5
|
-
const arr =
|
|
6
|
-
cryptoObj.getRandomValues(arr);
|
|
19
|
+
const arr = nextRandomBytes(cryptoObj);
|
|
7
20
|
let rand = "";
|
|
8
21
|
for (let i = 0; i < arr.length; i++) {
|
|
9
22
|
const hex = arr[i].toString(16);
|
|
@@ -6,6 +6,7 @@ import { sha1Helper } from "./sha1.helper.js";
|
|
|
6
6
|
import { sha256Helper } from "./sha256.helper.js";
|
|
7
7
|
import { sha512Helper } from "./sha512.helper.js";
|
|
8
8
|
import { tripleDesHelper } from "./triple-des.helper.js";
|
|
9
|
+
import { uuidV4Helper } from "./uuid-v4.helper.js";
|
|
9
10
|
export {
|
|
10
11
|
aesHelper,
|
|
11
12
|
correlationIdHelper,
|
|
@@ -14,5 +15,6 @@ export {
|
|
|
14
15
|
sha1Helper,
|
|
15
16
|
sha256Helper,
|
|
16
17
|
sha512Helper,
|
|
17
|
-
tripleDesHelper
|
|
18
|
+
tripleDesHelper,
|
|
19
|
+
uuidV4Helper
|
|
18
20
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const uuidV4Helper: () => string;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
const uuidV4Helper = function() {
|
|
2
|
+
const bytes = new Uint8Array(16);
|
|
3
|
+
crypto.getRandomValues(bytes);
|
|
4
|
+
bytes[6] = bytes[6] & 15 | 64;
|
|
5
|
+
bytes[8] = bytes[8] & 63 | 128;
|
|
6
|
+
const hex = Array.from(bytes, (byte) => byte.toString(16).padStart(2, "0"));
|
|
7
|
+
return [
|
|
8
|
+
hex.slice(0, 4).join(""),
|
|
9
|
+
hex.slice(4, 6).join(""),
|
|
10
|
+
hex.slice(6, 8).join(""),
|
|
11
|
+
hex.slice(8, 10).join(""),
|
|
12
|
+
hex.slice(10, 16).join("")
|
|
13
|
+
].join("-");
|
|
14
|
+
};
|
|
15
|
+
export {
|
|
16
|
+
uuidV4Helper
|
|
17
|
+
};
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -2,6 +2,6 @@ export { BlockCipher, CipherParams, Hasher, PasswordBasedCipher, SerializableCip
|
|
|
2
2
|
export { AES, DES, MD5, SHA1, SHA256, SHA512, TripleDES } from "./algo/index.js";
|
|
3
3
|
export { Base64, Encoder, Hex, Latin1, Utf16, Utf8 } from "./enc/index.js";
|
|
4
4
|
export { EVPKDF, PBKDF2 } from "./kdf/index.js";
|
|
5
|
-
export { aesHelper, correlationIdHelper, desHelper, md5Helper, sha1Helper, sha256Helper, sha512Helper, tripleDesHelper } from "./helpers/index.js";
|
|
5
|
+
export { aesHelper, correlationIdHelper, desHelper, md5Helper, sha1Helper, sha256Helper, sha512Helper, tripleDesHelper, uuidV4Helper } from "./helpers/index.js";
|
|
6
6
|
export { CBC, CTR, ECB } from "./mode/index.js";
|
|
7
7
|
export { NoPadding, PKCS7 } from "./pad/index.js";
|
package/dist/esm/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import { BlockCipher, CipherParams, Hasher, PasswordBasedCipher, SerializableCip
|
|
|
2
2
|
import { AES, DES, MD5, SHA1, SHA256, SHA512, TripleDES } from "./algo/index.js";
|
|
3
3
|
import { Base64, Hex, Latin1, Utf16, Utf8 } from "./enc/index.js";
|
|
4
4
|
import { EVPKDF, PBKDF2 } from "./kdf/index.js";
|
|
5
|
-
import { aesHelper, correlationIdHelper, desHelper, md5Helper, sha1Helper, sha256Helper, sha512Helper, tripleDesHelper } from "./helpers/index.js";
|
|
5
|
+
import { aesHelper, correlationIdHelper, desHelper, md5Helper, sha1Helper, sha256Helper, sha512Helper, tripleDesHelper, uuidV4Helper } from "./helpers/index.js";
|
|
6
6
|
import { CBC, CTR, ECB } from "./mode/index.js";
|
|
7
7
|
import { NoPadding, PKCS7 } from "./pad/index.js";
|
|
8
8
|
export {
|
|
@@ -40,5 +40,6 @@ export {
|
|
|
40
40
|
sha1Helper,
|
|
41
41
|
sha256Helper,
|
|
42
42
|
sha512Helper,
|
|
43
|
-
tripleDesHelper
|
|
43
|
+
tripleDesHelper,
|
|
44
|
+
uuidV4Helper
|
|
44
45
|
};
|
|
@@ -33,7 +33,7 @@ class WordArray {
|
|
|
33
33
|
*/
|
|
34
34
|
static random(nBytes) {
|
|
35
35
|
const words = [];
|
|
36
|
-
const r = function(mw) {
|
|
36
|
+
const r = (function(mw) {
|
|
37
37
|
let mz = 987654321;
|
|
38
38
|
const mask = 4294967295;
|
|
39
39
|
return function() {
|
|
@@ -44,7 +44,7 @@ class WordArray {
|
|
|
44
44
|
result += 0.5;
|
|
45
45
|
return result * (Math.random() > 0.5 ? 1 : -1);
|
|
46
46
|
};
|
|
47
|
-
};
|
|
47
|
+
});
|
|
48
48
|
for (let i = 0, rcache; i < nBytes; i += 4) {
|
|
49
49
|
const rnd1 = r((rcache || Math.random()) * 4294967296);
|
|
50
50
|
rcache = rnd1() * 987654071;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tonysamperi/krypto",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"author": "Tony Samperi",
|
|
5
5
|
"description": "Modern tree-shakeable TypeScript version of crypto-js",
|
|
6
6
|
"type": "module",
|
|
@@ -10,6 +10,10 @@
|
|
|
10
10
|
"unpkg": "./dist/cjs/index.cjs",
|
|
11
11
|
"exports": {
|
|
12
12
|
".": {
|
|
13
|
+
"browser": {
|
|
14
|
+
"types": "./dist/esm/index.d.ts",
|
|
15
|
+
"default": "./dist/esm/index.js"
|
|
16
|
+
},
|
|
13
17
|
"import": {
|
|
14
18
|
"types": "./dist/esm/index.d.ts",
|
|
15
19
|
"default": "./dist/esm/index.js"
|
|
@@ -17,10 +21,6 @@
|
|
|
17
21
|
"require": {
|
|
18
22
|
"types": "./dist/cjs/index.d.cts",
|
|
19
23
|
"default": "./dist/cjs/index.cjs"
|
|
20
|
-
},
|
|
21
|
-
"browser": {
|
|
22
|
-
"types": "./dist/esm/index.d.ts",
|
|
23
|
-
"default": "./dist/esm/index.js"
|
|
24
24
|
}
|
|
25
25
|
},
|
|
26
26
|
"./package.json": "./package.json"
|
|
@@ -58,21 +58,19 @@
|
|
|
58
58
|
"url": "git+https://github.com/tonysamperi/crypto.git"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
|
-
"@
|
|
62
|
-
"@
|
|
63
|
-
"@typescript-eslint/
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"eslint
|
|
61
|
+
"@eslint/js": "^10.0.1",
|
|
62
|
+
"@types/jest": "^30.0.0",
|
|
63
|
+
"@typescript-eslint/eslint-plugin": "^8.71.0",
|
|
64
|
+
"@typescript-eslint/parser": "^8.71.0",
|
|
65
|
+
"esbuild": "^0.28.2",
|
|
66
|
+
"eslint": "^10.12.0",
|
|
67
67
|
"fast-glob": "^3.3.3",
|
|
68
|
-
"jest": "^
|
|
69
|
-
"replace-in-file": "^
|
|
70
|
-
"rimraf": "^
|
|
71
|
-
"ts-jest": "^29.
|
|
72
|
-
"
|
|
73
|
-
"
|
|
74
|
-
"typescript": "~5.8.2",
|
|
75
|
-
"typescript-eslint": "^8.26.1"
|
|
68
|
+
"jest": "^30.5.2",
|
|
69
|
+
"replace-in-file": "^9.0.0",
|
|
70
|
+
"rimraf": "^6.1.3",
|
|
71
|
+
"ts-jest": "^29.4.14",
|
|
72
|
+
"typescript": "^6.0.3",
|
|
73
|
+
"typescript-eslint": "^8.71.0"
|
|
76
74
|
},
|
|
77
75
|
"optionalDependencies": {
|
|
78
76
|
"@types/crypto-js": "^4",
|