@ray-js/wechat-tycrypto 0.3.31-beta.2 → 0.3.31-beta.3

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/index.d.ts CHANGED
@@ -8,3 +8,4 @@ export * from './lib/hash/sha1/sha1';
8
8
  export * from './lib/hash/sha256/sha256';
9
9
  export * from './lib/hmac/hmac-sha1';
10
10
  export * from './lib/hmac/hmac-sha256';
11
+ export * from './lib/ecdh/ecdh';
package/index.esm.js CHANGED
@@ -1 +1 @@
1
- class t extends Error{constructor(...t){super(...t)}}class e extends Error{constructor(...t){super(...t)}}class s extends Error{constructor(...t){super(...t)}}function n(t){return t instanceof Uint8Array}function i(t,e){const s=t?t.byteLength:e||65536;if(4095&s||s<=0)throw new Error("heap size must be a positive integer and a multiple of 4096");return t=t||new Uint8Array(new ArrayBuffer(s))}function r(t,e,s,n,i){const r=t.length-e,h=r<i?r:i;return t.set(s.subarray(n,n+h),e),h}function h(...t){const e=t.reduce(((t,e)=>t+e.length),0),s=new Uint8Array(e);let n=0;for(let e=0;e<t.length;e++)s.set(t[e],n),n+=t[e].length;return s}let a,o,c=!1;function l(t,e){let s=a[(o[t]+o[e])%255];return 0!==t&&0!==e||(s=0),s}let f,u,p,_,A=!1;function g(){function t(t){let e,s,n;for(s=n=function(t){let e=a[255-o[t]];return 0===t&&(e=0),e}(t),e=0;e<4;e++)s=255&(s<<1|s>>>7),n^=s;return n^=99,n}c||function(){a=[],o=[];let t,e,s=1;for(t=0;t<255;t++)a[t]=s,e=128&s,s<<=1,s&=255,128===e&&(s^=27),s^=a[t],o[a[t]]=t;a[255]=a[0],o[0]=0,c=!0}(),f=[],u=[],p=[[],[],[],[]],_=[[],[],[],[]];for(let e=0;e<256;e++){const s=t(e);f[e]=s,u[s]=e,p[0][e]=l(2,s)<<24|s<<16|s<<8|l(3,s),_[0][s]=l(14,e)<<24|l(9,e)<<16|l(13,e)<<8|l(11,e);for(let t=1;t<4;t++)p[t][e]=p[t-1][e]>>>8|p[t-1][e]<<24,_[t][s]=_[t-1][s]>>>8|_[t-1][s]<<24}A=!0}class w{constructor(t,e){return function(t,e){A||g();const s=new Uint32Array(e);s.set(f,512),s.set(u,768);for(let t=0;t<4;t++)s.set(p[t],4096+1024*t>>2),s.set(_[t],8192+1024*t>>2);function n(t,e,n,r,h,a,o,c,l){const u=s.subarray(0,60),p=s.subarray(256,316);u.set([e,n,r,h,a,o,c,l]);let A=t;for(let e=1;A<4*t+28;A++){let s=u[A-1];(A%t==0||8===t&&A%t==4)&&(s=f[s>>>24]<<24^f[s>>>16&255]<<16^f[s>>>8&255]<<8^f[255&s]),A%t==0&&(s=s<<8^s>>>24^e<<24,e=e<<1^(128&e?27:0)),u[A]=u[A-t]^s}for(let t=0;t<A;t+=4)for(let e=0;e<4;e++){const s=u[A-(4+t)+(4-e)%4];p[t+e]=t<4||t>=A-4?s:_[0][f[s>>>24]]^_[1][f[s>>>16&255]]^_[2][f[s>>>8&255]]^_[3][f[255&s]]}i.set_rounds(t+5)}const i=function(t,e){"use asm";let s=0,i=0,r=0,h=0,a=0,o=0,c=0,l=0,f=0,u=0,p=0,_=0,A=0,g=0,w=0,y=0,E=0,C=0,m=0,d=0,S=0;const b=new Uint32Array(e),v=new Uint8Array(e);function D(t,e,n,a,o,c,l,f){t=t|0;e=e|0;n=n|0;a=a|0;o=o|0;c=c|0;l=l|0;f=f|0;let u=0,p=0,_=0,A=0,g=0,w=0,y=0,E=0;u=n|0x400,p=n|0x800,_=n|0xc00;o=o^b[(t|0)>>2],c=c^b[(t|4)>>2],l=l^b[(t|8)>>2],f=f^b[(t|12)>>2];for(E=16;(E|0)<=a<<4;E=E+16|0){A=b[(n|o>>22&1020)>>2]^b[(u|c>>14&1020)>>2]^b[(p|l>>6&1020)>>2]^b[(_|f<<2&1020)>>2]^b[(t|E|0)>>2],g=b[(n|c>>22&1020)>>2]^b[(u|l>>14&1020)>>2]^b[(p|f>>6&1020)>>2]^b[(_|o<<2&1020)>>2]^b[(t|E|4)>>2],w=b[(n|l>>22&1020)>>2]^b[(u|f>>14&1020)>>2]^b[(p|o>>6&1020)>>2]^b[(_|c<<2&1020)>>2]^b[(t|E|8)>>2],y=b[(n|f>>22&1020)>>2]^b[(u|o>>14&1020)>>2]^b[(p|c>>6&1020)>>2]^b[(_|l<<2&1020)>>2]^b[(t|E|12)>>2];o=A,c=g,l=w,f=y}s=b[(e|o>>22&1020)>>2]<<24^b[(e|c>>14&1020)>>2]<<16^b[(e|l>>6&1020)>>2]<<8^b[(e|f<<2&1020)>>2]^b[(t|E|0)>>2],i=b[(e|c>>22&1020)>>2]<<24^b[(e|l>>14&1020)>>2]<<16^b[(e|f>>6&1020)>>2]<<8^b[(e|o<<2&1020)>>2]^b[(t|E|4)>>2],r=b[(e|l>>22&1020)>>2]<<24^b[(e|f>>14&1020)>>2]<<16^b[(e|o>>6&1020)>>2]<<8^b[(e|c<<2&1020)>>2]^b[(t|E|8)>>2],h=b[(e|f>>22&1020)>>2]<<24^b[(e|o>>14&1020)>>2]<<16^b[(e|c>>6&1020)>>2]<<8^b[(e|l<<2&1020)>>2]^b[(t|E|12)>>2]}function M(t,e,s,n){t=t|0;e=e|0;s=s|0;n=n|0;D(0x0000,0x0800,0x1000,S,t,e,s,n)}function U(t,e,s,n){t=t|0;e=e|0;s=s|0;n=n|0;let r=0;D(0x0400,0x0c00,0x2000,S,t,n,s,e);r=i,i=h,h=r}function H(t,e,n,f){t=t|0;e=e|0;n=n|0;f=f|0;D(0x0000,0x0800,0x1000,S,a^t,o^e,c^n,l^f);a=s,o=i,c=r,l=h}function T(t,e,n,f){t=t|0;e=e|0;n=n|0;f=f|0;let u=0;D(0x0400,0x0c00,0x2000,S,t,f,n,e);u=i,i=h,h=u;s=s^a,i=i^o,r=r^c,h=h^l;a=t,o=e,c=n,l=f}function x(t,e,n,f){t=t|0;e=e|0;n=n|0;f=f|0;D(0x0000,0x0800,0x1000,S,a,o,c,l);a=s=s^t,o=i=i^e,c=r=r^n,l=h=h^f}function P(t,e,n,f){t=t|0;e=e|0;n=n|0;f=f|0;D(0x0000,0x0800,0x1000,S,a,o,c,l);s=s^t,i=i^e,r=r^n,h=h^f;a=t,o=e,c=n,l=f}function z(t,e,n,f){t=t|0;e=e|0;n=n|0;f=f|0;D(0x0000,0x0800,0x1000,S,a,o,c,l);a=s,o=i,c=r,l=h;s=s^t,i=i^e,r=r^n,h=h^f}function B(t,e,n,a){t=t|0;e=e|0;n=n|0;a=a|0;D(0x0000,0x0800,0x1000,S,f,u,p,_);_=~y&_|y&_+1;p=~w&p|w&p+Number((_|0)===0);u=~g&u|g&u+Number((p|0)===0);f=~A&f|A&f+Number((u|0)===0);s=s^t;i=i^e;r=r^n;h=h^a}function k(t,e,s,n){t=t|0;e=e|0;s=s|0;n=n|0;let i=0,r=0,h=0,f=0,u=0,p=0,_=0,A=0,g=0,w=0;t=t^a,e=e^o,s=s^c,n=n^l;i=E|0,r=C|0,h=m|0,f=d|0;for(;(g|0)<128;g=g+1|0){if(i>>>31){u=u^t,p=p^e,_=_^s,A=A^n}i=i<<1|r>>>31,r=r<<1|h>>>31,h=h<<1|f>>>31,f=f<<1;w=n&1;n=n>>>1|s<<31,s=s>>>1|e<<31,e=e>>>1|t<<31,t=t>>>1;if(w)t=t^0xe1000000}a=u,o=p,c=_,l=A}function R(t){t=t|0;S=t}function G(t,e,n,a){t=t|0;e=e|0;n=n|0;a=a|0;s=t,i=e,r=n,h=a}function N(t,e,s,n){t=t|0;e=e|0;s=s|0;n=n|0;a=t,o=e,c=s,l=n}function L(t,e,s,n){t=t|0;e=e|0;s=s|0;n=n|0;f=t,u=e,p=s,_=n}function I(t,e,s,n){t=t|0;e=e|0;s=s|0;n=n|0;A=t,g=e,w=s,y=n}function O(t,e,s,n){t=t|0;e=e|0;s=s|0;n=n|0;_=~y&_|y&n,p=~w&p|w&s,u=~g&u|g&e,f=~A&f|A&t}function Z(t){t=t|0;if(t&15)return-1;v[t|0]=s>>>24,v[t|1]=s>>>16&255,v[t|2]=s>>>8&255,v[t|3]=s&255,v[t|4]=i>>>24,v[t|5]=i>>>16&255,v[t|6]=i>>>8&255,v[t|7]=i&255,v[t|8]=r>>>24,v[t|9]=r>>>16&255,v[t|10]=r>>>8&255,v[t|11]=r&255,v[t|12]=h>>>24,v[t|13]=h>>>16&255,v[t|14]=h>>>8&255,v[t|15]=h&255;return 16}function K(t){t=t|0;if(t&15)return-1;v[t|0]=a>>>24,v[t|1]=a>>>16&255,v[t|2]=a>>>8&255,v[t|3]=a&255,v[t|4]=o>>>24,v[t|5]=o>>>16&255,v[t|6]=o>>>8&255,v[t|7]=o&255,v[t|8]=c>>>24,v[t|9]=c>>>16&255,v[t|10]=c>>>8&255,v[t|11]=c&255,v[t|12]=l>>>24,v[t|13]=l>>>16&255,v[t|14]=l>>>8&255,v[t|15]=l&255;return 16}function V(){M(0,0,0,0);E=s,C=i,m=r,d=h}function F(t,e,n){t=t|0;e=e|0;n=n|0;let a=0;if(e&15)return-1;while((n|0)>=16){q[t&7](v[e|0]<<24|v[e|1]<<16|v[e|2]<<8|v[e|3],v[e|4]<<24|v[e|5]<<16|v[e|6]<<8|v[e|7],v[e|8]<<24|v[e|9]<<16|v[e|10]<<8|v[e|11],v[e|12]<<24|v[e|13]<<16|v[e|14]<<8|v[e|15]);v[e|0]=s>>>24,v[e|1]=s>>>16&255,v[e|2]=s>>>8&255,v[e|3]=s&255,v[e|4]=i>>>24,v[e|5]=i>>>16&255,v[e|6]=i>>>8&255,v[e|7]=i&255,v[e|8]=r>>>24,v[e|9]=r>>>16&255,v[e|10]=r>>>8&255,v[e|11]=r&255,v[e|12]=h>>>24,v[e|13]=h>>>16&255,v[e|14]=h>>>8&255,v[e|15]=h&255;a=a+16|0,e=e+16|0,n=n-16|0}return a|0}function j(t,e,s){t=t|0;e=e|0;s=s|0;let n=0;if(e&15)return-1;while((s|0)>=16){J[t&1](v[e|0]<<24|v[e|1]<<16|v[e|2]<<8|v[e|3],v[e|4]<<24|v[e|5]<<16|v[e|6]<<8|v[e|7],v[e|8]<<24|v[e|9]<<16|v[e|10]<<8|v[e|11],v[e|12]<<24|v[e|13]<<16|v[e|14]<<8|v[e|15]);n=n+16|0,e=e+16|0,s=s-16|0}return n|0}const q=[M,U,H,T,x,P,z,B];const J=[H,k];return{set_rounds:R,set_state:G,set_iv:N,set_nonce:L,set_mask:I,set_counter:O,get_state:Z,get_iv:K,gcm_init:V,cipher:F,mac:j,set_key:n}}(t,e);return i}(t,e)}set_key(t,e,s,n,i,r,h,a,o){}set_iv(t,e,s,n){}set_mask(t,e,s,n){}set_nonce(t,e,s,n){}set_counter(t,e,s,n){}cipher(t,e,s){return 0}gcm_init(){}get_iv(t){return 16}mac(t,e,s){return 0}get_state(t){return 16}}w.ENC={ECB:0,CBC:2,CFB:4,OFB:6,CTR:7},w.DEC={ECB:1,CBC:3,CFB:5,OFB:6,CTR:7},w.MAC={CBC:0,GCM:1},w.HEAP_DATA=16384;class y{constructor(t,s,n=!0,r,h,a){this.pos=0,this.len=0,this.mode=r,this.heap=h||i().subarray(w.HEAP_DATA),this.asm=a||new w(null,this.heap.buffer),this.pos=0,this.len=0;const o=t.length;if(16!==o&&24!==o&&32!==o)throw new e("illegal key size");const c=new DataView(t.buffer,t.byteOffset,t.byteLength);if(this.asm.set_key(o>>2,c.getUint32(0),c.getUint32(4),c.getUint32(8),c.getUint32(12),o>16?c.getUint32(16):0,o>16?c.getUint32(20):0,o>24?c.getUint32(24):0,o>24?c.getUint32(28):0),void 0!==s){if(16!==s.length)throw new e("illegal iv size");const t=new DataView(s.buffer,s.byteOffset,s.byteLength);this.asm.set_iv(t.getUint32(0),t.getUint32(4),t.getUint32(8),t.getUint32(12))}else this.asm.set_iv(0,0,0,0);this.padding=n}AES_Encrypt_process(t){if(!n(t))throw new TypeError("data isn't of expected type");const e=this.asm,s=this.heap,i=w.ENC[this.mode],h=w.HEAP_DATA;let a=this.pos,o=this.len,c=0,l=t.length||0,f=0;let u=0;const p=new Uint8Array(o+l&-16);for(;l>0;)u=r(s,a+o,t,c,l),o+=u,c+=u,l-=u,u=e.cipher(i,h+a,o),u&&p.set(s.subarray(a,a+u),f),f+=u,u<o?(a+=u,o-=u):(a=0,o=0);return this.pos=a,this.len=o,p}AES_Encrypt_finish(){const t=this.asm,s=this.heap,n=w.ENC[this.mode],i=w.HEAP_DATA,r=this.pos;let h=this.len;const a=16-h%16;let o=h;if(this.hasOwnProperty("padding")){if(this.padding){for(let t=0;t<a;++t)s[r+h+t]=a;h+=a,o=h}else if(h%16)throw new e("data length must be a multiple of the block size")}else h+=a;const c=new Uint8Array(o);return h&&t.cipher(n,i+r,h),o&&c.set(s.subarray(r,r+o)),this.pos=0,this.len=0,c}AES_Decrypt_process(t){if(!n(t))throw new TypeError("data isn't of expected type");const e=this.asm,s=this.heap,i=w.DEC[this.mode],h=w.HEAP_DATA;let a=this.pos,o=this.len,c=0,l=t.length||0,f=0,u=o+l&-16,p=0,_=0;this.padding&&(p=o+l-u||16,u-=p);const A=new Uint8Array(u);for(;l>0;)_=r(s,a+o,t,c,l),o+=_,c+=_,l-=_,_=e.cipher(i,h+a,o-(l?0:p)),_&&A.set(s.subarray(a,a+_),f),f+=_,_<o?(a+=_,o-=_):(a=0,o=0);return this.pos=a,this.len=o,A}AES_Decrypt_finish(){const t=this.asm,n=this.heap,i=w.DEC[this.mode],r=w.HEAP_DATA,h=this.pos;let a=this.len,o=a;if(a>0){if(a%16){if(this.hasOwnProperty("padding"))throw new e("data length must be a multiple of the block size");a+=16-a%16}if(t.cipher(i,r+h,a),this.hasOwnProperty("padding")&&this.padding){const t=n[h+o-1];if(t<1||t>16||t>o)throw new s("bad padding");let e=0;for(let s=t;s>1;s--)e|=t^n[h+o-s];if(e)throw new s("bad padding");o-=t}}const c=new Uint8Array(o);return o>0&&c.set(n.subarray(h,h+o)),this.pos=0,this.len=0,c}}class E{constructor(t,s,n,i=16,r){if(this.tagSize=i,this.gamma0=0,this.counter=1,this.aes=r||new y(t,void 0,!1,"CTR"),this.aes.asm.gcm_init(),this.tagSize<4||this.tagSize>16)throw new e("illegal tagSize value");const h=s.length||0,a=new Uint8Array(16);12!==h?(this._gcm_mac_process(s),this.aes.heap[0]=0,this.aes.heap[1]=0,this.aes.heap[2]=0,this.aes.heap[3]=0,this.aes.heap[4]=0,this.aes.heap[5]=0,this.aes.heap[6]=0,this.aes.heap[7]=0,this.aes.heap[8]=0,this.aes.heap[9]=0,this.aes.heap[10]=0,this.aes.heap[11]=h>>>29,this.aes.heap[12]=h>>>21&255,this.aes.heap[13]=h>>>13&255,this.aes.heap[14]=h>>>5&255,this.aes.heap[15]=h<<3&255,this.aes.asm.mac(w.MAC.GCM,w.HEAP_DATA,16),this.aes.asm.get_iv(w.HEAP_DATA),this.aes.asm.set_iv(0,0,0,0),a.set(this.aes.heap.subarray(0,16))):(a.set(s),a[15]=1);const o=new DataView(a.buffer);if(this.gamma0=o.getUint32(12),this.aes.asm.set_nonce(o.getUint32(0),o.getUint32(4),o.getUint32(8),0),this.aes.asm.set_mask(0,0,0,4294967295),void 0!==n){if(n.length>68719476704)throw new e("illegal adata length");n.length?(this.adata=n,this._gcm_mac_process(n)):this.adata=void 0}else this.adata=void 0;if(this.counter<1||this.counter>4294967295)throw new RangeError("counter must be a positive 32-bit integer");this.aes.asm.set_counter(0,0,0,this.gamma0+this.counter|0)}static encrypt(t,e,s,n,i){return new E(e,s,n,i).encrypt(t)}static decrypt(t,e,s,n,i){return new E(e,s,n,i).decrypt(t)}encrypt(t){return this.AES_GCM_encrypt(t)}decrypt(t){return this.AES_GCM_decrypt(t)}AES_GCM_Encrypt_process(t){let e=0,s=t.length||0;const n=this.aes.asm,i=this.aes.heap;let h=this.counter,a=this.aes.pos,o=this.aes.len,c=0;const l=o+s&-16;let f=0;if((h-1<<4)+o+s>68719476704)throw new RangeError("counter overflow");const u=new Uint8Array(l);for(;s>0;)f=r(i,a+o,t,e,s),o+=f,e+=f,s-=f,f=n.cipher(w.ENC.CTR,w.HEAP_DATA+a,o),f=n.mac(w.MAC.GCM,w.HEAP_DATA+a,f),f&&u.set(i.subarray(a,a+f),c),h+=f>>>4,c+=f,f<o?(a+=f,o-=f):(a=0,o=0);return this.counter=h,this.aes.pos=a,this.aes.len=o,u}AES_GCM_Encrypt_finish(){const t=this.aes.asm,e=this.aes.heap,s=this.counter,n=this.tagSize,i=this.adata,r=this.aes.pos,h=this.aes.len,a=new Uint8Array(h+n);t.cipher(w.ENC.CTR,w.HEAP_DATA+r,h+15&-16),h&&a.set(e.subarray(r,r+h));let o=h;for(;15&o;o++)e[r+o]=0;t.mac(w.MAC.GCM,w.HEAP_DATA+r,o);const c=void 0!==i?i.length:0,l=(s-1<<4)+h;return e[0]=0,e[1]=0,e[2]=0,e[3]=c>>>29,e[4]=c>>>21,e[5]=c>>>13&255,e[6]=c>>>5&255,e[7]=c<<3&255,e[8]=e[9]=e[10]=0,e[11]=l>>>29,e[12]=l>>>21&255,e[13]=l>>>13&255,e[14]=l>>>5&255,e[15]=l<<3&255,t.mac(w.MAC.GCM,w.HEAP_DATA,16),t.get_iv(w.HEAP_DATA),t.set_counter(0,0,0,this.gamma0),t.cipher(w.ENC.CTR,w.HEAP_DATA,16),a.set(e.subarray(0,n),h),this.counter=1,this.aes.pos=0,this.aes.len=0,a}AES_GCM_Decrypt_process(t){let e=0,s=t.length||0;const n=this.aes.asm,i=this.aes.heap;let h=this.counter;const a=this.tagSize;let o=this.aes.pos,c=this.aes.len,l=0;const f=c+s>a?c+s-a&-16:0,u=c+s-f;let p=0;if((h-1<<4)+c+s>68719476704)throw new RangeError("counter overflow");const _=new Uint8Array(f);for(;s>u;)p=r(i,o+c,t,e,s-u),c+=p,e+=p,s-=p,p=n.mac(w.MAC.GCM,w.HEAP_DATA+o,p),p=n.cipher(w.DEC.CTR,w.HEAP_DATA+o,p),p&&_.set(i.subarray(o,o+p),l),h+=p>>>4,l+=p,o=0,c=0;return s>0&&(c+=r(i,0,t,e,s)),this.counter=h,this.aes.pos=o,this.aes.len=c,_}AES_GCM_Decrypt_finish(){const e=this.aes.asm,n=this.aes.heap,i=this.tagSize,r=this.adata,h=this.counter,a=this.aes.pos,o=this.aes.len,c=o-i;if(o<i)throw new t("authentication tag not found");const l=new Uint8Array(c),f=n.slice(a+c,a+o);let u=c;for(;15&u;u++)n[a+u]=0;e.mac(w.MAC.GCM,w.HEAP_DATA+a,u),e.cipher(w.DEC.CTR,w.HEAP_DATA+a,u),c&&l.set(n.subarray(a,a+c));const p=void 0!==r?r.length:0,_=(h-1<<4)+o-i;n[0]=0,n[1]=0,n[2]=0,n[3]=p>>>29,n[4]=p>>>21,n[5]=p>>>13&255,n[6]=p>>>5&255,n[7]=p<<3&255,n[8]=n[9]=n[10]=0,n[11]=_>>>29,n[12]=_>>>21&255,n[13]=_>>>13&255,n[14]=_>>>5&255,n[15]=_<<3&255,e.mac(w.MAC.GCM,w.HEAP_DATA,16),e.get_iv(w.HEAP_DATA),e.set_counter(0,0,0,this.gamma0),e.cipher(w.ENC.CTR,w.HEAP_DATA,16);let A=0;for(let t=0;t<i;++t)A|=f[t]^n[t];if(A)throw new s("data integrity check failed");return this.counter=1,this.aes.pos=0,this.aes.len=0,l}AES_GCM_decrypt(t){const e=this.AES_GCM_Decrypt_process(t),s=this.AES_GCM_Decrypt_finish(),n=new Uint8Array(e.length+s.length);return e.length&&n.set(e),s.length&&n.set(s,e.length),n}AES_GCM_encrypt(t){const e=this.AES_GCM_Encrypt_process(t),s=this.AES_GCM_Encrypt_finish(),n=new Uint8Array(e.length+s.length);return e.length&&n.set(e),s.length&&n.set(s,e.length),n}_gcm_mac_process(t){const e=this.aes.heap,s=this.aes.asm;let n=0,i=t.length||0,h=0;for(;i>0;){for(h=r(e,0,t,n,i),n+=h,i-=h;15&h;)e[h++]=0;s.mac(w.MAC.GCM,w.HEAP_DATA,h)}}}class C{constructor(t,e=!1,s){this.aes=s||new y(t,void 0,e,"ECB")}static encrypt(t,e,s=!1){return new C(e,s).encrypt(t)}static decrypt(t,e,s=!1){return new C(e,s).decrypt(t)}encrypt(t){return h(this.aes.AES_Encrypt_process(t),this.aes.AES_Encrypt_finish())}decrypt(t){return h(this.aes.AES_Decrypt_process(t),this.aes.AES_Decrypt_finish())}}class m{constructor(t,e,s=!0,n){this.aes=n||new y(t,e,s,"CBC")}static encrypt(t,e,s=!0,n){return new m(e,n,s).encrypt(t)}static decrypt(t,e,s=!0,n){return new m(e,n,s).decrypt(t)}encrypt(t){return h(this.aes.AES_Encrypt_process(t),this.aes.AES_Encrypt_finish())}decrypt(t){return h(this.aes.AES_Decrypt_process(t),this.aes.AES_Decrypt_finish())}}class d{constructor(t,s,n,i=16,r,h){if(this.counter=1,this.dataLength=-1,this.aes=h||new y(t,void 0,void 0,"CCM"),i<4||i>16||1&i)throw new e("illegal tagSize value");if(this.tagSize=i,this.nonce=s,s.length<8||s.length>13)throw new e("illegal nonce length");if(this.lengthSize=15-s.length,(s=new Uint8Array(s.length+1))[0]=this.lengthSize-1,s.set(this.nonce,1),r<0||r>0xffffffffffff0||r>Math.pow(2,8*this.lengthSize)-16)throw new e("illegal dataLength value");if(void 0!==n){if(n.length>65279)throw new e("illegal adata length");this.adata=n.length?n:void 0}this.dataLength=r,this.counter=1,this.AES_CCM_calculate_iv(),this.AES_CTR_set_options(s,this.counter,8*this.lengthSize)}static encrypt(t,e,s,n,i=16){return new d(e,s,n,i,t.length).encrypt(t)}static decrypt(t,e,s,n,i=16){return new d(e,s,n,i,t.length-i).decrypt(t)}encrypt(t){this.dataLength=t.length||0;const e=this.AES_CCM_Encrypt_process(t),s=this.AES_CCM_Encrypt_finish(),n=new Uint8Array(e.length+s.length);return e.length&&n.set(e),s.length&&n.set(s,e.length),n}decrypt(t){this.dataLength=t.length||0;const e=this.AES_CCM_Decrypt_process(t),s=this.AES_CCM_Decrypt_finish(),n=new Uint8Array(e.length+s.length);return e.length&&n.set(e),s.length&&n.set(s,e.length),n}AES_CCM_calculate_iv(){const t=this.nonce,e=this.adata,s=this.tagSize,n=this.lengthSize,i=this.dataLength,r=new Uint8Array(16+(e?2+e.length:0));r[0]=(e?64:0)|s-2<<2|n-1,r.set(t,1),n>6&&(r[9]=i/4294967296>>>16&15),n>5&&(r[10]=i/4294967296>>>8&255),n>4&&(r[11]=i/4294967296&255),n>3&&(r[12]=i>>>24),n>2&&(r[13]=i>>>16&255),r[14]=i>>>8&255,r[15]=255&i,e&&(r[16]=e.length>>>8&255,r[17]=255&e.length,r.set(e,18)),this._cbc_mac_process(r),this.aes.asm.get_state(w.HEAP_DATA);const h=new Uint8Array(this.aes.heap.subarray(0,16)),a=new DataView(h.buffer,h.byteOffset,h.byteLength);this.aes.asm.set_iv(a.getUint32(0),a.getUint32(4),a.getUint32(8),a.getUint32(12))}_cbc_mac_process(t){const e=this.aes.heap,s=this.aes.asm;let n=0,i=t.length||0,h=0;for(;i>0;){for(h=r(e,0,t,n,i);15&h;)e[h++]=0;n+=h,i-=h,s.mac(w.MAC.CBC,w.HEAP_DATA,h)}}AES_CCM_Encrypt_process(t){const e=this.aes.asm,s=this.aes.heap;let n=0,i=t.length||0,h=this.counter,a=this.aes.pos,o=this.aes.len;const c=o+i&-16;let l=0,f=0;if((h-1<<4)+o+i>0xffffffffffff0)throw new RangeError("counter overflow");const u=new Uint8Array(c);for(;i>0;)f=r(s,a+o,t,n,i),o+=f,n+=f,i-=f,f=e.mac(w.MAC.CBC,w.HEAP_DATA+a,o),f=e.cipher(w.ENC.CTR,w.HEAP_DATA+a,f),f&&u.set(s.subarray(a,a+f),l),h+=f>>>4,l+=f,f<o?(a+=f,o-=f):(a=0,o=0);return this.counter=h,this.aes.pos=a,this.aes.len=o,u}AES_CCM_Encrypt_finish(){const t=this.aes.asm,e=this.aes.heap,s=this.tagSize,n=this.aes.pos,i=this.aes.len,r=new Uint8Array(i+s);let h=i;for(;15&h;h++)e[n+h]=0;return t.mac(w.MAC.CBC,w.HEAP_DATA+n,h),t.cipher(w.ENC.CTR,w.HEAP_DATA+n,h),i&&r.set(e.subarray(n,n+i)),t.set_counter(0,0,0,0),t.get_iv(w.HEAP_DATA),t.cipher(w.ENC.CTR,w.HEAP_DATA,16),r.set(e.subarray(0,s),i),this.counter=1,this.aes.pos=0,this.aes.len=0,r}AES_CCM_Decrypt_process(t){let e=0,s=t.length||0;const n=this.aes.asm,i=this.aes.heap;let h=this.counter;const a=this.tagSize;let o=this.aes.pos,c=this.aes.len,l=0;const f=c+s>a?c+s-a&-16:0,u=c+s-f;let p=0;if((h-1<<4)+c+s>0xffffffffffff0)throw new RangeError("counter overflow");const _=new Uint8Array(f);for(;s>u;)p=r(i,o+c,t,e,s-u),c+=p,e+=p,s-=p,p=n.cipher(w.DEC.CTR,w.HEAP_DATA+o,p),p=n.mac(w.MAC.CBC,w.HEAP_DATA+o,p),p&&_.set(i.subarray(o,o+p),l),h+=p>>>4,l+=p,o=0,c=0;return s>0&&(c+=r(i,0,t,e,s)),this.counter=h,this.aes.pos=o,this.aes.len=c,_}AES_CCM_Decrypt_finish(){const e=this.aes.asm,n=this.aes.heap,i=this.tagSize,r=this.aes.pos,h=this.aes.len,a=h-i;if(h<i)throw new t("authentication tag not found");const o=new Uint8Array(a),c=new Uint8Array(n.subarray(r+a,r+h));e.cipher(w.DEC.CTR,w.HEAP_DATA+r,a+15&-16),o.set(n.subarray(r,r+a));let l=a;for(;15&l;l++)n[r+l]=0;e.mac(w.MAC.CBC,w.HEAP_DATA+r,l),e.set_counter(0,0,0,0),e.get_iv(w.HEAP_DATA),e.cipher(w.ENC.CTR,w.HEAP_DATA,16);let f=0;for(let t=0;t<i;++t)f|=c[t]^n[t];if(f)throw new s("data integrity check failed");return this.counter=1,this.aes.pos=0,this.aes.len=0,o}AES_CTR_set_options(t,s,n){if(n<8||n>48)throw new e("illegal counter size");const i=Math.pow(2,n)-1;this.aes.asm.set_mask(0,0,i/4294967296|0,0|i);const r=t.length;if(!r||r>16)throw new e("illegal nonce size");this.nonce=t;const h=new DataView(new ArrayBuffer(16));if(new Uint8Array(h.buffer).set(t),this.aes.asm.set_nonce(h.getUint32(0),h.getUint32(4),h.getUint32(8),h.getUint32(12)),s<0||s>=Math.pow(2,n))throw new e("illegal counter value");this.counter=s,this.aes.asm.set_counter(0,0,s/4294967296|0,0|s)}}class S{constructor(){this.pos=0,this.len=0}reset(){return this.result=null,this.pos=0,this.len=0,this.asm.reset(),this}process(e){if(null!==this.result)throw new t("state must be reset before processing new data");const s=this.asm,n=this.heap;let i=this.pos,h=this.len,a=0,o=e.length,c=0;for(;o>0;)c=r(n,i+h,e,a,o),h+=c,a+=c,o-=c,c=s.process(i,h),i+=c,h-=c,h||(i=0);return this.pos=i,this.len=h,this}finish(){if(null!==this.result)throw new t("state must be reset before processing new data");return this.asm.finish(this.pos,this.len,0),this.result=new Uint8Array(this.HASH_SIZE),this.result.set(this.heap.subarray(0,this.HASH_SIZE)),this.pos=0,this.len=0,this}}const b=64,v=20;class D extends S{constructor(){super(),this.NAME="sha1",this.BLOCK_SIZE=64,this.HASH_SIZE=20,this.heap=i(),this.asm=function(t,e){let s=0,n=0,i=0,r=0,h=0,a=0,o=0,c=0,l=0,f=0,u=0,p=0,_=0,A=0,g=0,w=0,y=0;const E=new Uint8Array(e);function C(t,e,a,o,c,l,f,u,p,_,A,g,w,y,E,C){let m=0,d=0,S=0,b=0,v=0,D=0,M=0,U=0,H=0,T=0,x=0,P=0,z=0,B=0,k=0,R=0,G=0,N=0,L=0,I=0,O=0,Z=0,K=0,V=0,F=0,j=0,q=0,J=0,Q=0,W=0,X=0,Y=0,$=0,tt=0,et=0,st=0,nt=0,it=0,rt=0,ht=0,at=0,ot=0,ct=0,lt=0,ft=0,ut=0,pt=0,_t=0,At=0,gt=0,wt=0,yt=0,Et=0,Ct=0,mt=0,dt=0,St=0,bt=0,vt=0,Dt=0,Mt=0,Ut=0,Ht=0,Tt=0,xt=0,Pt=0,zt=0,Bt=0,kt=0,Rt=0,Gt=0;m=s,d=n,S=i,b=r,v=h,M=(t|=0)+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,M=(e|=0)+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,M=(a|=0)+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,M=(o|=0)+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,M=(c|=0)+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,M=(l|=0)+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,M=(f|=0)+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,M=(u|=0)+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,M=(p|=0)+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,M=(_|=0)+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,M=(A|=0)+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,M=(g|=0)+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,M=(w|=0)+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,M=(y|=0)+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,M=(E|=0)+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,M=(C|=0)+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=y^p^a^t,U=D<<1|D>>>31,M=U+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=E^_^o^e,H=D<<1|D>>>31,M=H+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=C^A^c^a,T=D<<1|D>>>31,M=T+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=U^g^l^o,x=D<<1|D>>>31,M=x+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=H^w^f^c,P=D<<1|D>>>31,M=P+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=T^y^u^l,z=D<<1|D>>>31,M=z+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=x^E^p^f,B=D<<1|D>>>31,M=B+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=P^C^_^u,k=D<<1|D>>>31,M=k+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=z^U^A^p,R=D<<1|D>>>31,M=R+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=B^H^g^_,G=D<<1|D>>>31,M=G+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=k^T^w^A,N=D<<1|D>>>31,M=N+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=R^x^y^g,L=D<<1|D>>>31,M=L+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=G^P^E^w,I=D<<1|D>>>31,M=I+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=N^z^C^y,O=D<<1|D>>>31,M=O+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=L^B^U^E,Z=D<<1|D>>>31,M=Z+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=I^k^H^C,K=D<<1|D>>>31,M=K+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=O^R^T^U,V=D<<1|D>>>31,M=V+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=Z^G^x^H,F=D<<1|D>>>31,M=F+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=K^N^P^T,j=D<<1|D>>>31,M=j+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=V^L^z^x,q=D<<1|D>>>31,M=q+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=F^I^B^P,J=D<<1|D>>>31,M=J+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=j^O^k^z,Q=D<<1|D>>>31,M=Q+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=q^Z^R^B,W=D<<1|D>>>31,M=W+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=J^K^G^k,X=D<<1|D>>>31,M=X+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=Q^V^N^R,Y=D<<1|D>>>31,M=Y+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=W^F^L^G,$=D<<1|D>>>31,M=$+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=X^j^I^N,tt=D<<1|D>>>31,M=tt+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=Y^q^O^L,et=D<<1|D>>>31,M=et+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=$^J^Z^I,st=D<<1|D>>>31,M=st+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=tt^Q^K^O,nt=D<<1|D>>>31,M=nt+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=et^W^V^Z,it=D<<1|D>>>31,M=it+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=st^X^F^K,rt=D<<1|D>>>31,M=rt+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=nt^Y^j^V,ht=D<<1|D>>>31,M=ht+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=it^$^q^F,at=D<<1|D>>>31,M=at+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=rt^tt^J^j,ot=D<<1|D>>>31,M=ot+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=ht^et^Q^q,ct=D<<1|D>>>31,M=ct+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=at^st^W^J,lt=D<<1|D>>>31,M=lt+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=ot^nt^X^Q,ft=D<<1|D>>>31,M=ft+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=ct^it^Y^W,ut=D<<1|D>>>31,M=ut+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=lt^rt^$^X,pt=D<<1|D>>>31,M=pt+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=ft^ht^tt^Y,_t=D<<1|D>>>31,M=_t+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=ut^at^et^$,At=D<<1|D>>>31,M=At+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=pt^ot^st^tt,gt=D<<1|D>>>31,M=gt+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=_t^ct^nt^et,wt=D<<1|D>>>31,M=wt+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=At^lt^it^st,yt=D<<1|D>>>31,M=yt+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=gt^ft^rt^nt,Et=D<<1|D>>>31,M=Et+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=wt^ut^ht^it,Ct=D<<1|D>>>31,M=Ct+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=yt^pt^at^rt,mt=D<<1|D>>>31,M=mt+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=Et^_t^ot^ht,dt=D<<1|D>>>31,M=dt+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=Ct^At^ct^at,St=D<<1|D>>>31,M=St+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=mt^gt^lt^ot,bt=D<<1|D>>>31,M=bt+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=dt^wt^ft^ct,vt=D<<1|D>>>31,M=vt+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=St^yt^ut^lt,Dt=D<<1|D>>>31,M=Dt+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=bt^Et^pt^ft,Mt=D<<1|D>>>31,M=Mt+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=vt^Ct^_t^ut,Ut=D<<1|D>>>31,M=Ut+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=Dt^mt^At^pt,Ht=D<<1|D>>>31,M=Ht+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=Mt^dt^gt^_t,Tt=D<<1|D>>>31,M=Tt+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=Ut^St^wt^At,xt=D<<1|D>>>31,M=xt+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=Ht^bt^yt^gt,Pt=D<<1|D>>>31,M=Pt+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=Tt^vt^Et^wt,zt=D<<1|D>>>31,M=zt+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=xt^Dt^Ct^yt,Bt=D<<1|D>>>31,M=Bt+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=Pt^Mt^mt^Et,kt=D<<1|D>>>31,M=kt+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=zt^Ut^dt^Ct,Rt=D<<1|D>>>31,M=Rt+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,D=Bt^Ht^St^mt,Gt=D<<1|D>>>31,M=Gt+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=M,s=s+m|0,n=n+d|0,i=i+S|0,r=r+b|0,h=h+v|0}function m(t){C(E[0|(t|=0)]<<24|E[1|t]<<16|E[2|t]<<8|E[3|t],E[4|t]<<24|E[5|t]<<16|E[6|t]<<8|E[7|t],E[8|t]<<24|E[9|t]<<16|E[10|t]<<8|E[11|t],E[12|t]<<24|E[13|t]<<16|E[14|t]<<8|E[15|t],E[16|t]<<24|E[17|t]<<16|E[18|t]<<8|E[19|t],E[20|t]<<24|E[21|t]<<16|E[22|t]<<8|E[23|t],E[24|t]<<24|E[25|t]<<16|E[26|t]<<8|E[27|t],E[28|t]<<24|E[29|t]<<16|E[30|t]<<8|E[31|t],E[32|t]<<24|E[33|t]<<16|E[34|t]<<8|E[35|t],E[36|t]<<24|E[37|t]<<16|E[38|t]<<8|E[39|t],E[40|t]<<24|E[41|t]<<16|E[42|t]<<8|E[43|t],E[44|t]<<24|E[45|t]<<16|E[46|t]<<8|E[47|t],E[48|t]<<24|E[49|t]<<16|E[50|t]<<8|E[51|t],E[52|t]<<24|E[53|t]<<16|E[54|t]<<8|E[55|t],E[56|t]<<24|E[57|t]<<16|E[58|t]<<8|E[59|t],E[60|t]<<24|E[61|t]<<16|E[62|t]<<8|E[63|t])}function d(t){E[0|(t|=0)]=s>>>24,E[1|t]=s>>>16&255,E[2|t]=s>>>8&255,E[3|t]=255&s,E[4|t]=n>>>24,E[5|t]=n>>>16&255,E[6|t]=n>>>8&255,E[7|t]=255&n,E[8|t]=i>>>24,E[9|t]=i>>>16&255,E[10|t]=i>>>8&255,E[11|t]=255&i,E[12|t]=r>>>24,E[13|t]=r>>>16&255,E[14|t]=r>>>8&255,E[15|t]=255&r,E[16|t]=h>>>24,E[17|t]=h>>>16&255,E[18|t]=h>>>8&255,E[19|t]=255&h}function S(){s=1732584193,n=4023233417,i=2562383102,r=271733878,h=3285377520,a=o=0}function b(t,e){e|=0;let s=0;if(63&(t|=0))return-1;for(;(0|e)>=64;)m(t),t=t+64|0,e=e-64|0,s=s+64|0;return a=a+s|0,a>>>0<s>>>0&&(o=o+1|0),0|s}function v(t,e,s){let n=0,i=0;if(63&(t|=0))return-1;if(~(s|=0)&&31&s)return-1;if((0|(e|=0))>=64){if(n=0|b(t,e),-1==(0|n))return-1;t=t+n|0,e=e-n|0}if(n=n+e|0,a=a+e|0,a>>>0<e>>>0&&(o=o+1|0),E[t|e]=128,(0|e)>=56){for(i=e+1|0;(0|i)<64;i=i+1|0)E[t|i]=0;m(t),e=0,E[0|t]=0}for(i=e+1|0;(0|i)<59;i=i+1|0)E[t|i]=0;return E[56|t]=o>>>21&255,E[57|t]=o>>>13&255,E[58|t]=o>>>5&255,E[59|t]=o<<3&255|a>>>29,E[60|t]=a>>>21&255,E[61|t]=a>>>13&255,E[62|t]=a>>>5&255,E[63|t]=a<<3&255,m(t),~s&&d(s),0|n}function D(){s=c,n=l,i=f,r=u,h=p,a=64,o=0}function M(){s=_,n=A,i=g,r=w,h=y,a=64,o=0}function U(t,e,a){let o=0,c=0,l=0,f=0,u=0,p=0;return 63&(t|=0)||~(a|=0)&&31&a?-1:(p=0|v(t,e|=0,-1),o=s,c=n,l=i,f=r,u=h,M(),C(o,c,l,f,u,2147483648,0,0,0,0,0,0,0,0,0,672),~a&&d(a),0|p)}return{reset:S,init:function(t,e,c,l,f,u,p){s=t|=0,n=e|=0,i=c|=0,r=l|=0,h=f|=0,a=u|=0,o=p|=0},process:b,finish:v,hmac_reset:D,hmac_init:function(t,e,E,m,d,b,v,D,M,U,H,T,x,P,z,B){t|=0,e|=0,E|=0,m|=0,d|=0,b|=0,v|=0,D|=0,M|=0,U|=0,H|=0,T|=0,x|=0,P|=0,z|=0,B|=0,S(),C(1549556828^t,1549556828^e,1549556828^E,1549556828^m,1549556828^d,1549556828^b,1549556828^v,1549556828^D,1549556828^M,1549556828^U,1549556828^H,1549556828^T,1549556828^x,1549556828^P,1549556828^z,1549556828^B),_=s,A=n,g=i,w=r,y=h,S(),C(909522486^t,909522486^e,909522486^E,909522486^m,909522486^d,909522486^b,909522486^v,909522486^D,909522486^M,909522486^U,909522486^H,909522486^T,909522486^x,909522486^P,909522486^z,909522486^B),c=s,l=n,f=i,u=r,p=h,a=64,o=0},hmac_finish:U,pbkdf2_generate_block:function(t,e,a,o,c){a|=0,o|=0;let l=0,f=0,u=0,p=0,_=0,A=0,g=0,w=0,y=0,m=0;if(63&(t|=0))return-1;if(~(c|=0)&&31&c)return-1;for(E[t+(e|=0)|0]=a>>>24,E[t+e+1|0]=a>>>16&255,E[t+e+2|0]=a>>>8&255,E[t+e+3|0]=255&a,U(t,e+4|0,-1),l=A=s,f=g=n,u=w=i,p=y=r,_=m=h,o=o-1|0;(0|o)>0;)D(),C(A,g,w,y,m,2147483648,0,0,0,0,0,0,0,0,0,672),A=s,g=n,w=i,y=r,m=h,M(),C(A,g,w,y,m,2147483648,0,0,0,0,0,0,0,0,0,672),A=s,g=n,w=i,y=r,m=h,l^=s,f^=n,u^=i,p^=r,_^=h,o=o-1|0;return s=l,n=f,i=u,r=p,h=_,~c&&d(c),0}}}(0,this.heap.buffer),this.reset()}}D.NAME="sha1";const M=64,U=32;class H extends S{constructor(){super(),this.NAME="sha256",this.BLOCK_SIZE=64,this.HASH_SIZE=32,this.heap=i(),this.asm=function(t,e){let s=0,n=0,i=0,r=0,h=0,a=0,o=0,c=0,l=0,f=0,u=0,p=0,_=0,A=0,g=0,w=0,y=0,E=0,C=0,m=0,d=0,S=0,b=0,v=0,D=0,M=0;const U=new Uint8Array(e);function H(t,e,l,f,u,p,_,A,g,w,y,E,C,m,d,S){let b=0,v=0,D=0,M=0,U=0,H=0,T=0,x=0;b=s,v=n,D=i,M=r,U=h,H=a,T=o,x=c,x=(t|=0)+x+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(T^U&(H^T))+1116352408|0,M=M+x|0,x=x+(b&v^D&(b^v))+(b>>>2^b>>>13^b>>>22^b<<30^b<<19^b<<10)|0,T=(e|=0)+T+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(H^M&(U^H))+1899447441|0,D=D+T|0,T=T+(x&b^v&(x^b))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0,H=(l|=0)+H+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(U^D&(M^U))+3049323471|0,v=v+H|0,H=H+(T&x^b&(T^x))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0,U=(f|=0)+U+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(M^v&(D^M))+3921009573|0,b=b+U|0,U=U+(H&T^x&(H^T))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0,M=(u|=0)+M+(b>>>6^b>>>11^b>>>25^b<<26^b<<21^b<<7)+(D^b&(v^D))+961987163|0,x=x+M|0,M=M+(U&H^T&(U^H))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0,D=(p|=0)+D+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(v^x&(b^v))+1508970993|0,T=T+D|0,D=D+(M&U^H&(M^U))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0,v=(_|=0)+v+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(b^T&(x^b))+2453635748|0,H=H+v|0,v=v+(D&M^U&(D^M))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0,b=(A|=0)+b+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(x^H&(T^x))+2870763221|0,U=U+b|0,b=b+(v&D^M&(v^D))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0,x=(g|=0)+x+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(T^U&(H^T))+3624381080|0,M=M+x|0,x=x+(b&v^D&(b^v))+(b>>>2^b>>>13^b>>>22^b<<30^b<<19^b<<10)|0,T=(w|=0)+T+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(H^M&(U^H))+310598401|0,D=D+T|0,T=T+(x&b^v&(x^b))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0,H=(y|=0)+H+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(U^D&(M^U))+607225278|0,v=v+H|0,H=H+(T&x^b&(T^x))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0,U=(E|=0)+U+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(M^v&(D^M))+1426881987|0,b=b+U|0,U=U+(H&T^x&(H^T))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0,M=(C|=0)+M+(b>>>6^b>>>11^b>>>25^b<<26^b<<21^b<<7)+(D^b&(v^D))+1925078388|0,x=x+M|0,M=M+(U&H^T&(U^H))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0,D=(m|=0)+D+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(v^x&(b^v))+2162078206|0,T=T+D|0,D=D+(M&U^H&(M^U))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0,v=(d|=0)+v+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(b^T&(x^b))+2614888103|0,H=H+v|0,v=v+(D&M^U&(D^M))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0,b=(S|=0)+b+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(x^H&(T^x))+3248222580|0,U=U+b|0,b=b+(v&D^M&(v^D))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0,x=(t=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+t+w|0)+x+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(T^U&(H^T))+3835390401|0,M=M+x|0,x=x+(b&v^D&(b^v))+(b>>>2^b>>>13^b>>>22^b<<30^b<<19^b<<10)|0,T=(e=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(S>>>17^S>>>19^S>>>10^S<<15^S<<13)+e+y|0)+T+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(H^M&(U^H))+4022224774|0,D=D+T|0,T=T+(x&b^v&(x^b))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0,H=(l=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+l+E|0)+H+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(U^D&(M^U))+264347078|0,v=v+H|0,H=H+(T&x^b&(T^x))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0,U=(f=(u>>>7^u>>>18^u>>>3^u<<25^u<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+f+C|0)+U+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(M^v&(D^M))+604807628|0,b=b+U|0,U=U+(H&T^x&(H^T))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0,M=(u=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+u+m|0)+M+(b>>>6^b>>>11^b>>>25^b<<26^b<<21^b<<7)+(D^b&(v^D))+770255983|0,x=x+M|0,M=M+(U&H^T&(U^H))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0,D=(p=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+p+d|0)+D+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(v^x&(b^v))+1249150122|0,T=T+D|0,D=D+(M&U^H&(M^U))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0,v=(_=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(u>>>17^u>>>19^u>>>10^u<<15^u<<13)+_+S|0)+v+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(b^T&(x^b))+1555081692|0,H=H+v|0,v=v+(D&M^U&(D^M))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0,b=(A=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+A+t|0)+b+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(x^H&(T^x))+1996064986|0,U=U+b|0,b=b+(v&D^M&(v^D))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0,x=(g=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+g+e|0)+x+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(T^U&(H^T))+2554220882|0,M=M+x|0,x=x+(b&v^D&(b^v))+(b>>>2^b>>>13^b>>>22^b<<30^b<<19^b<<10)|0,T=(w=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+w+l|0)+T+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(H^M&(U^H))+2821834349|0,D=D+T|0,T=T+(x&b^v&(x^b))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0,H=(y=(E>>>7^E>>>18^E>>>3^E<<25^E<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+y+f|0)+H+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(U^D&(M^U))+2952996808|0,v=v+H|0,H=H+(T&x^b&(T^x))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0,U=(E=(C>>>7^C>>>18^C>>>3^C<<25^C<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+E+u|0)+U+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(M^v&(D^M))+3210313671|0,b=b+U|0,U=U+(H&T^x&(H^T))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0,M=(C=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+C+p|0)+M+(b>>>6^b>>>11^b>>>25^b<<26^b<<21^b<<7)+(D^b&(v^D))+3336571891|0,x=x+M|0,M=M+(U&H^T&(U^H))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0,D=(m=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(E>>>17^E>>>19^E>>>10^E<<15^E<<13)+m+_|0)+D+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(v^x&(b^v))+3584528711|0,T=T+D|0,D=D+(M&U^H&(M^U))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0,v=(d=(S>>>7^S>>>18^S>>>3^S<<25^S<<14)+(C>>>17^C>>>19^C>>>10^C<<15^C<<13)+d+A|0)+v+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(b^T&(x^b))+113926993|0,H=H+v|0,v=v+(D&M^U&(D^M))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0,b=(S=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+S+g|0)+b+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(x^H&(T^x))+338241895|0,U=U+b|0,b=b+(v&D^M&(v^D))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0,x=(t=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+t+w|0)+x+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(T^U&(H^T))+666307205|0,M=M+x|0,x=x+(b&v^D&(b^v))+(b>>>2^b>>>13^b>>>22^b<<30^b<<19^b<<10)|0,T=(e=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(S>>>17^S>>>19^S>>>10^S<<15^S<<13)+e+y|0)+T+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(H^M&(U^H))+773529912|0,D=D+T|0,T=T+(x&b^v&(x^b))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0,H=(l=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+l+E|0)+H+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(U^D&(M^U))+1294757372|0,v=v+H|0,H=H+(T&x^b&(T^x))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0,U=(f=(u>>>7^u>>>18^u>>>3^u<<25^u<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+f+C|0)+U+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(M^v&(D^M))+1396182291|0,b=b+U|0,U=U+(H&T^x&(H^T))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0,M=(u=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+u+m|0)+M+(b>>>6^b>>>11^b>>>25^b<<26^b<<21^b<<7)+(D^b&(v^D))+1695183700|0,x=x+M|0,M=M+(U&H^T&(U^H))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0,D=(p=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+p+d|0)+D+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(v^x&(b^v))+1986661051|0,T=T+D|0,D=D+(M&U^H&(M^U))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0,v=(_=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(u>>>17^u>>>19^u>>>10^u<<15^u<<13)+_+S|0)+v+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(b^T&(x^b))+2177026350|0,H=H+v|0,v=v+(D&M^U&(D^M))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0,b=(A=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+A+t|0)+b+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(x^H&(T^x))+2456956037|0,U=U+b|0,b=b+(v&D^M&(v^D))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0,x=(g=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+g+e|0)+x+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(T^U&(H^T))+2730485921|0,M=M+x|0,x=x+(b&v^D&(b^v))+(b>>>2^b>>>13^b>>>22^b<<30^b<<19^b<<10)|0,T=(w=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+w+l|0)+T+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(H^M&(U^H))+2820302411|0,D=D+T|0,T=T+(x&b^v&(x^b))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0,H=(y=(E>>>7^E>>>18^E>>>3^E<<25^E<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+y+f|0)+H+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(U^D&(M^U))+3259730800|0,v=v+H|0,H=H+(T&x^b&(T^x))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0,U=(E=(C>>>7^C>>>18^C>>>3^C<<25^C<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+E+u|0)+U+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(M^v&(D^M))+3345764771|0,b=b+U|0,U=U+(H&T^x&(H^T))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0,M=(C=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+C+p|0)+M+(b>>>6^b>>>11^b>>>25^b<<26^b<<21^b<<7)+(D^b&(v^D))+3516065817|0,x=x+M|0,M=M+(U&H^T&(U^H))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0,D=(m=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(E>>>17^E>>>19^E>>>10^E<<15^E<<13)+m+_|0)+D+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(v^x&(b^v))+3600352804|0,T=T+D|0,D=D+(M&U^H&(M^U))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0,v=(d=(S>>>7^S>>>18^S>>>3^S<<25^S<<14)+(C>>>17^C>>>19^C>>>10^C<<15^C<<13)+d+A|0)+v+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(b^T&(x^b))+4094571909|0,H=H+v|0,v=v+(D&M^U&(D^M))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0,b=(S=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+S+g|0)+b+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(x^H&(T^x))+275423344|0,U=U+b|0,b=b+(v&D^M&(v^D))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0,x=(t=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+t+w|0)+x+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(T^U&(H^T))+430227734|0,M=M+x|0,x=x+(b&v^D&(b^v))+(b>>>2^b>>>13^b>>>22^b<<30^b<<19^b<<10)|0,T=(e=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(S>>>17^S>>>19^S>>>10^S<<15^S<<13)+e+y|0)+T+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(H^M&(U^H))+506948616|0,D=D+T|0,T=T+(x&b^v&(x^b))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0,H=(l=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+l+E|0)+H+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(U^D&(M^U))+659060556|0,v=v+H|0,H=H+(T&x^b&(T^x))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0,U=(f=(u>>>7^u>>>18^u>>>3^u<<25^u<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+f+C|0)+U+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(M^v&(D^M))+883997877|0,b=b+U|0,U=U+(H&T^x&(H^T))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0,M=(u=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+u+m|0)+M+(b>>>6^b>>>11^b>>>25^b<<26^b<<21^b<<7)+(D^b&(v^D))+958139571|0,x=x+M|0,M=M+(U&H^T&(U^H))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0,D=(p=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+p+d|0)+D+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(v^x&(b^v))+1322822218|0,T=T+D|0,D=D+(M&U^H&(M^U))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0,v=(_=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(u>>>17^u>>>19^u>>>10^u<<15^u<<13)+_+S|0)+v+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(b^T&(x^b))+1537002063|0,H=H+v|0,v=v+(D&M^U&(D^M))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0,b=(A=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+A+t|0)+b+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(x^H&(T^x))+1747873779|0,U=U+b|0,b=b+(v&D^M&(v^D))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0,x=(g=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+g+e|0)+x+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(T^U&(H^T))+1955562222|0,M=M+x|0,x=x+(b&v^D&(b^v))+(b>>>2^b>>>13^b>>>22^b<<30^b<<19^b<<10)|0,T=(w=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+w+l|0)+T+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(H^M&(U^H))+2024104815|0,D=D+T|0,T=T+(x&b^v&(x^b))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0,H=(y=(E>>>7^E>>>18^E>>>3^E<<25^E<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+y+f|0)+H+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(U^D&(M^U))+2227730452|0,v=v+H|0,H=H+(T&x^b&(T^x))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0,U=(E=(C>>>7^C>>>18^C>>>3^C<<25^C<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+E+u|0)+U+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(M^v&(D^M))+2361852424|0,b=b+U|0,U=U+(H&T^x&(H^T))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0,M=(C=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+C+p|0)+M+(b>>>6^b>>>11^b>>>25^b<<26^b<<21^b<<7)+(D^b&(v^D))+2428436474|0,x=x+M|0,M=M+(U&H^T&(U^H))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0,D=(m=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(E>>>17^E>>>19^E>>>10^E<<15^E<<13)+m+_|0)+D+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(v^x&(b^v))+2756734187|0,T=T+D|0,D=D+(M&U^H&(M^U))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0,v=(d=(S>>>7^S>>>18^S>>>3^S<<25^S<<14)+(C>>>17^C>>>19^C>>>10^C<<15^C<<13)+d+A|0)+v+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(b^T&(x^b))+3204031479|0,H=H+v|0,v=v+(D&M^U&(D^M))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0,b=(S=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+S+g|0)+b+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(x^H&(T^x))+3329325298|0,U=U+b|0,b=b+(v&D^M&(v^D))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0,s=s+b|0,n=n+v|0,i=i+D|0,r=r+M|0,h=h+U|0,a=a+H|0,o=o+T|0,c=c+x|0}function T(t){H(U[0|(t|=0)]<<24|U[1|t]<<16|U[2|t]<<8|U[3|t],U[4|t]<<24|U[5|t]<<16|U[6|t]<<8|U[7|t],U[8|t]<<24|U[9|t]<<16|U[10|t]<<8|U[11|t],U[12|t]<<24|U[13|t]<<16|U[14|t]<<8|U[15|t],U[16|t]<<24|U[17|t]<<16|U[18|t]<<8|U[19|t],U[20|t]<<24|U[21|t]<<16|U[22|t]<<8|U[23|t],U[24|t]<<24|U[25|t]<<16|U[26|t]<<8|U[27|t],U[28|t]<<24|U[29|t]<<16|U[30|t]<<8|U[31|t],U[32|t]<<24|U[33|t]<<16|U[34|t]<<8|U[35|t],U[36|t]<<24|U[37|t]<<16|U[38|t]<<8|U[39|t],U[40|t]<<24|U[41|t]<<16|U[42|t]<<8|U[43|t],U[44|t]<<24|U[45|t]<<16|U[46|t]<<8|U[47|t],U[48|t]<<24|U[49|t]<<16|U[50|t]<<8|U[51|t],U[52|t]<<24|U[53|t]<<16|U[54|t]<<8|U[55|t],U[56|t]<<24|U[57|t]<<16|U[58|t]<<8|U[59|t],U[60|t]<<24|U[61|t]<<16|U[62|t]<<8|U[63|t])}function x(t){U[0|(t|=0)]=s>>>24,U[1|t]=s>>>16&255,U[2|t]=s>>>8&255,U[3|t]=255&s,U[4|t]=n>>>24,U[5|t]=n>>>16&255,U[6|t]=n>>>8&255,U[7|t]=255&n,U[8|t]=i>>>24,U[9|t]=i>>>16&255,U[10|t]=i>>>8&255,U[11|t]=255&i,U[12|t]=r>>>24,U[13|t]=r>>>16&255,U[14|t]=r>>>8&255,U[15|t]=255&r,U[16|t]=h>>>24,U[17|t]=h>>>16&255,U[18|t]=h>>>8&255,U[19|t]=255&h,U[20|t]=a>>>24,U[21|t]=a>>>16&255,U[22|t]=a>>>8&255,U[23|t]=255&a,U[24|t]=o>>>24,U[25|t]=o>>>16&255,U[26|t]=o>>>8&255,U[27|t]=255&o,U[28|t]=c>>>24,U[29|t]=c>>>16&255,U[30|t]=c>>>8&255,U[31|t]=255&c}function P(){s=1779033703,n=3144134277,i=1013904242,r=2773480762,h=1359893119,a=2600822924,o=528734635,c=1541459225,l=f=0}function z(t,e){e|=0;let s=0;if(63&(t|=0))return-1;for(;(0|e)>=64;)T(t),t=t+64|0,e=e-64|0,s=s+64|0;return l=l+s|0,l>>>0<s>>>0&&(f=f+1|0),0|s}function B(t,e,s){let n=0,i=0;if(63&(t|=0))return-1;if(~(s|=0)&&31&s)return-1;if((0|(e|=0))>=64){if(n=0|z(t,e),-1==(0|n))return-1;t=t+n|0,e=e-n|0}if(n=n+e|0,l=l+e|0,l>>>0<e>>>0&&(f=f+1|0),U[t|e]=128,(0|e)>=56){for(i=e+1|0;(0|i)<64;i=i+1|0)U[t|i]=0;T(t),e=0,U[0|t]=0}for(i=e+1|0;(0|i)<59;i=i+1|0)U[t|i]=0;return U[56|t]=f>>>21&255,U[57|t]=f>>>13&255,U[58|t]=f>>>5&255,U[59|t]=f<<3&255|l>>>29,U[60|t]=l>>>21&255,U[61|t]=l>>>13&255,U[62|t]=l>>>5&255,U[63|t]=l<<3&255,T(t),~s&&x(s),0|n}function k(){s=u,n=p,i=_,r=A,h=g,a=w,o=y,c=E,l=64,f=0}function R(){s=C,n=m,i=d,r=S,h=b,a=v,o=D,c=M,l=64,f=0}function G(t,e,l){let f=0,u=0,p=0,_=0,A=0,g=0,w=0,y=0,E=0;return 63&(t|=0)||~(l|=0)&&31&l?-1:(E=0|B(t,e|=0,-1),f=s,u=n,p=i,_=r,A=h,g=a,w=o,y=c,R(),H(f,u,p,_,A,g,w,y,2147483648,0,0,0,0,0,0,768),~l&&x(l),0|E)}return{reset:P,init:function(t,e,u,p,_,A,g,w,y,E){s=t|=0,n=e|=0,i=u|=0,r=p|=0,h=_|=0,a=A|=0,o=g|=0,c=w|=0,l=y|=0,f=E|=0},process:z,finish:B,hmac_reset:k,hmac_init:function(t,e,U,T,x,z,B,k,R,G,N,L,I,O,Z,K){t|=0,e|=0,U|=0,T|=0,x|=0,z|=0,B|=0,k|=0,R|=0,G|=0,N|=0,L|=0,I|=0,O|=0,Z|=0,K|=0,P(),H(1549556828^t,1549556828^e,1549556828^U,1549556828^T,1549556828^x,1549556828^z,1549556828^B,1549556828^k,1549556828^R,1549556828^G,1549556828^N,1549556828^L,1549556828^I,1549556828^O,1549556828^Z,1549556828^K),C=s,m=n,d=i,S=r,b=h,v=a,D=o,M=c,P(),H(909522486^t,909522486^e,909522486^U,909522486^T,909522486^x,909522486^z,909522486^B,909522486^k,909522486^R,909522486^G,909522486^N,909522486^L,909522486^I,909522486^O,909522486^Z,909522486^K),u=s,p=n,_=i,A=r,g=h,w=a,y=o,E=c,l=64,f=0},hmac_finish:G,pbkdf2_generate_block:function(t,e,l,f,u){l|=0,f|=0;let p=0,_=0,A=0,g=0,w=0,y=0,E=0,C=0,m=0,d=0,S=0,b=0,v=0,D=0,M=0,T=0;if(63&(t|=0))return-1;if(~(u|=0)&&31&u)return-1;for(U[t+(e|=0)|0]=l>>>24,U[t+e+1|0]=l>>>16&255,U[t+e+2|0]=l>>>8&255,U[t+e+3|0]=255&l,G(t,e+4|0,-1),p=m=s,_=d=n,A=S=i,g=b=r,w=v=h,y=D=a,E=M=o,C=T=c,f=f-1|0;(0|f)>0;)k(),H(m,d,S,b,v,D,M,T,2147483648,0,0,0,0,0,0,768),m=s,d=n,S=i,b=r,v=h,D=a,M=o,T=c,R(),H(m,d,S,b,v,D,M,T,2147483648,0,0,0,0,0,0,768),m=s,d=n,S=i,b=r,v=h,D=a,M=o,T=c,p^=s,_^=n,A^=i,g^=r,w^=h,y^=a,E^=o,C^=c,f=f-1|0;return s=p,n=_,i=A,r=g,h=w,a=y,o=E,c=C,~u&&x(u),0}}}(0,this.heap.buffer),this.reset()}}H.NAME="sha256";class T{constructor(t,e,s){if(!t.HASH_SIZE)throw new SyntaxError("option 'hash' supplied doesn't seem to be a valid hash function");this.hash=t,this.BLOCK_SIZE=this.hash.BLOCK_SIZE,this.HMAC_SIZE=this.hash.HASH_SIZE,this.result=null,this.key=function(t,e){const s=new Uint8Array(t.BLOCK_SIZE);e.length>t.BLOCK_SIZE?s.set(t.reset().process(e).finish().result):s.set(e);return s}(this.hash,e);const n=new Uint8Array(this.key);for(let t=0;t<n.length;++t)n[t]^=54;this.hash.reset().process(n),void 0!==s?this._hmac_init_verify(s):this.verify=null}process(e){if(null!==this.result)throw new t("state must be reset before processing new data");return this.hash.process(e),this}finish(){if(null!==this.result)throw new t("state must be reset before processing new data");const e=this.hash.finish().result,s=new Uint8Array(this.key);for(let t=0;t<s.length;++t)s[t]^=92;const n=this.verify,i=this.hash.reset().process(s).process(e).finish().result;if(n){if(n.length!==i.length)throw new Error("HMAC verification failed, lengths doesn't match");{let t=0;for(let e=0;e<n.length;e++)t|=n[e]^i[e];if(0!==t)throw new Error("HMAC verification failed, hash value doesn't match")}}return this.result=i,this}_hmac_init_verify(t){if(t.length!==this.HMAC_SIZE)throw new e("illegal verification tag size");this.verify=t}}class x extends T{static sha(t,e,s){return new x(e,s).process(t).finish().result}constructor(t,e){return super(new D,t,e),this.reset(),void 0!==e?this._hmac_init_verify(e):this.verify=null,this}reset(){this.result=null;const t=this.key;return this.hash.reset().asm.hmac_init(t[0]<<24|t[1]<<16|t[2]<<8|t[3],t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[8]<<24|t[9]<<16|t[10]<<8|t[11],t[12]<<24|t[13]<<16|t[14]<<8|t[15],t[16]<<24|t[17]<<16|t[18]<<8|t[19],t[20]<<24|t[21]<<16|t[22]<<8|t[23],t[24]<<24|t[25]<<16|t[26]<<8|t[27],t[28]<<24|t[29]<<16|t[30]<<8|t[31],t[32]<<24|t[33]<<16|t[34]<<8|t[35],t[36]<<24|t[37]<<16|t[38]<<8|t[39],t[40]<<24|t[41]<<16|t[42]<<8|t[43],t[44]<<24|t[45]<<16|t[46]<<8|t[47],t[48]<<24|t[49]<<16|t[50]<<8|t[51],t[52]<<24|t[53]<<16|t[54]<<8|t[55],t[56]<<24|t[57]<<16|t[58]<<8|t[59],t[60]<<24|t[61]<<16|t[62]<<8|t[63]),this}finish(){if(null!==this.result)throw new t("state must be reset before processing new data");const e=this.hash,s=this.hash.asm,n=this.hash.heap;s.hmac_finish(e.pos,e.len,0);const i=this.verify,r=new Uint8Array(20);if(r.set(n.subarray(0,20)),i){if(i.length!==r.length)throw new Error("HMAC verification failed, lengths doesn't match");{let t=0;for(let e=0;e<i.length;e++)t|=i[e]^r[e];if(0!==t)throw new Error("HMAC verification failed, hash value doesn't match")}}else this.result=r;return this}}class P extends T{static sha(t,e,s){return new P(e,s).process(t).finish().result}constructor(t,e){return super(new H,t,e),this.reset(),void 0!==e?this._hmac_init_verify(e):this.verify=null,this}reset(){const t=this.key;return this.hash.reset().asm.hmac_init(t[0]<<24|t[1]<<16|t[2]<<8|t[3],t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[8]<<24|t[9]<<16|t[10]<<8|t[11],t[12]<<24|t[13]<<16|t[14]<<8|t[15],t[16]<<24|t[17]<<16|t[18]<<8|t[19],t[20]<<24|t[21]<<16|t[22]<<8|t[23],t[24]<<24|t[25]<<16|t[26]<<8|t[27],t[28]<<24|t[29]<<16|t[30]<<8|t[31],t[32]<<24|t[33]<<16|t[34]<<8|t[35],t[36]<<24|t[37]<<16|t[38]<<8|t[39],t[40]<<24|t[41]<<16|t[42]<<8|t[43],t[44]<<24|t[45]<<16|t[46]<<8|t[47],t[48]<<24|t[49]<<16|t[50]<<8|t[51],t[52]<<24|t[53]<<16|t[54]<<8|t[55],t[56]<<24|t[57]<<16|t[58]<<8|t[59],t[60]<<24|t[61]<<16|t[62]<<8|t[63]),this}finish(){if(null===this.key)throw new t("no key is associated with the instance");if(null!==this.result)throw new t("state must be reset before processing new data");const e=this.hash,s=this.hash.asm,n=this.hash.heap;s.hmac_finish(e.pos,e.len,0);const i=this.verify,r=new Uint8Array(32);if(r.set(n.subarray(0,32)),i){if(i.length!==r.length)throw new Error("HMAC verification failed, lengths doesn't match");{let t=0;for(let e=0;e<i.length;e++)t|=i[e]^r[e];if(0!==t)throw new Error("HMAC verification failed, hash value doesn't match")}}else this.result=r;return this}}export{y as AES,m as AES_CBC,d as AES_CCM,C as AES_ECB,E as AES_GCM,x as HmacSha1,P as HmacSha256,e as IllegalArgumentError,t as IllegalStateError,s as SecurityError,D as Sha1,H as Sha256,b as _sha1_block_size,v as _sha1_hash_size,M as _sha256_block_size,U as _sha256_hash_size};
1
+ class t extends Error{constructor(...t){super(...t)}}class e extends Error{constructor(...t){super(...t)}}class s extends Error{constructor(...t){super(...t)}}function n(t){return t instanceof Uint8Array}function r(t,e){const s=t?t.byteLength:e||65536;if(4095&s||s<=0)throw new Error("heap size must be a positive integer and a multiple of 4096");return t=t||new Uint8Array(new ArrayBuffer(s))}function i(t,e,s,n,r){const i=t.length-e,h=i<r?i:r;return t.set(s.subarray(n,n+h),e),h}function h(...t){const e=t.reduce(((t,e)=>t+e.length),0),s=new Uint8Array(e);let n=0;for(let e=0;e<t.length;e++)s.set(t[e],n),n+=t[e].length;return s}let a,o,c=!1;function f(t,e){let s=a[(o[t]+o[e])%255];return 0!==t&&0!==e||(s=0),s}let l,u,p,_,A=!1;function g(){function t(t){let e,s,n;for(s=n=function(t){let e=a[255-o[t]];return 0===t&&(e=0),e}(t),e=0;e<4;e++)s=255&(s<<1|s>>>7),n^=s;return n^=99,n}c||function(){a=[],o=[];let t,e,s=1;for(t=0;t<255;t++)a[t]=s,e=128&s,s<<=1,s&=255,128===e&&(s^=27),s^=a[t],o[a[t]]=t;a[255]=a[0],o[0]=0,c=!0}(),l=[],u=[],p=[[],[],[],[]],_=[[],[],[],[]];for(let e=0;e<256;e++){const s=t(e);l[e]=s,u[s]=e,p[0][e]=f(2,s)<<24|s<<16|s<<8|f(3,s),_[0][s]=f(14,e)<<24|f(9,e)<<16|f(13,e)<<8|f(11,e);for(let t=1;t<4;t++)p[t][e]=p[t-1][e]>>>8|p[t-1][e]<<24,_[t][s]=_[t-1][s]>>>8|_[t-1][s]<<24}A=!0}class w{constructor(t,e){return function(t,e){A||g();const s=new Uint32Array(e);s.set(l,512),s.set(u,768);for(let t=0;t<4;t++)s.set(p[t],4096+1024*t>>2),s.set(_[t],8192+1024*t>>2);function n(t,e,n,i,h,a,o,c,f){const u=s.subarray(0,60),p=s.subarray(256,316);u.set([e,n,i,h,a,o,c,f]);let A=t;for(let e=1;A<4*t+28;A++){let s=u[A-1];(A%t==0||8===t&&A%t==4)&&(s=l[s>>>24]<<24^l[s>>>16&255]<<16^l[s>>>8&255]<<8^l[255&s]),A%t==0&&(s=s<<8^s>>>24^e<<24,e=e<<1^(128&e?27:0)),u[A]=u[A-t]^s}for(let t=0;t<A;t+=4)for(let e=0;e<4;e++){const s=u[A-(4+t)+(4-e)%4];p[t+e]=t<4||t>=A-4?s:_[0][l[s>>>24]]^_[1][l[s>>>16&255]]^_[2][l[s>>>8&255]]^_[3][l[255&s]]}r.set_rounds(t+5)}const r=function(t,e){"use asm";let s=0,r=0,i=0,h=0,a=0,o=0,c=0,f=0,l=0,u=0,p=0,_=0,A=0,g=0,w=0,y=0,E=0,d=0,m=0,C=0,b=0;const v=new Uint32Array(e),S=new Uint8Array(e);function x(t,e,n,a,o,c,f,l){t=t|0;e=e|0;n=n|0;a=a|0;o=o|0;c=c|0;f=f|0;l=l|0;let u=0,p=0,_=0,A=0,g=0,w=0,y=0,E=0;u=n|0x400,p=n|0x800,_=n|0xc00;o=o^v[(t|0)>>2],c=c^v[(t|4)>>2],f=f^v[(t|8)>>2],l=l^v[(t|12)>>2];for(E=16;(E|0)<=a<<4;E=E+16|0){A=v[(n|o>>22&1020)>>2]^v[(u|c>>14&1020)>>2]^v[(p|f>>6&1020)>>2]^v[(_|l<<2&1020)>>2]^v[(t|E|0)>>2],g=v[(n|c>>22&1020)>>2]^v[(u|f>>14&1020)>>2]^v[(p|l>>6&1020)>>2]^v[(_|o<<2&1020)>>2]^v[(t|E|4)>>2],w=v[(n|f>>22&1020)>>2]^v[(u|l>>14&1020)>>2]^v[(p|o>>6&1020)>>2]^v[(_|c<<2&1020)>>2]^v[(t|E|8)>>2],y=v[(n|l>>22&1020)>>2]^v[(u|o>>14&1020)>>2]^v[(p|c>>6&1020)>>2]^v[(_|f<<2&1020)>>2]^v[(t|E|12)>>2];o=A,c=g,f=w,l=y}s=v[(e|o>>22&1020)>>2]<<24^v[(e|c>>14&1020)>>2]<<16^v[(e|f>>6&1020)>>2]<<8^v[(e|l<<2&1020)>>2]^v[(t|E|0)>>2],r=v[(e|c>>22&1020)>>2]<<24^v[(e|f>>14&1020)>>2]<<16^v[(e|l>>6&1020)>>2]<<8^v[(e|o<<2&1020)>>2]^v[(t|E|4)>>2],i=v[(e|f>>22&1020)>>2]<<24^v[(e|l>>14&1020)>>2]<<16^v[(e|o>>6&1020)>>2]<<8^v[(e|c<<2&1020)>>2]^v[(t|E|8)>>2],h=v[(e|l>>22&1020)>>2]<<24^v[(e|o>>14&1020)>>2]<<16^v[(e|c>>6&1020)>>2]<<8^v[(e|f<<2&1020)>>2]^v[(t|E|12)>>2]}function D(t,e,s,n){t=t|0;e=e|0;s=s|0;n=n|0;x(0x0000,0x0800,0x1000,b,t,e,s,n)}function U(t,e,s,n){t=t|0;e=e|0;s=s|0;n=n|0;let i=0;x(0x0400,0x0c00,0x2000,b,t,n,s,e);i=r,r=h,h=i}function M(t,e,n,l){t=t|0;e=e|0;n=n|0;l=l|0;x(0x0000,0x0800,0x1000,b,a^t,o^e,c^n,f^l);a=s,o=r,c=i,f=h}function H(t,e,n,l){t=t|0;e=e|0;n=n|0;l=l|0;let u=0;x(0x0400,0x0c00,0x2000,b,t,l,n,e);u=r,r=h,h=u;s=s^a,r=r^o,i=i^c,h=h^f;a=t,o=e,c=n,f=l}function T(t,e,n,l){t=t|0;e=e|0;n=n|0;l=l|0;x(0x0000,0x0800,0x1000,b,a,o,c,f);a=s=s^t,o=r=r^e,c=i=i^n,f=h=h^l}function z(t,e,n,l){t=t|0;e=e|0;n=n|0;l=l|0;x(0x0000,0x0800,0x1000,b,a,o,c,f);s=s^t,r=r^e,i=i^n,h=h^l;a=t,o=e,c=n,f=l}function P(t,e,n,l){t=t|0;e=e|0;n=n|0;l=l|0;x(0x0000,0x0800,0x1000,b,a,o,c,f);a=s,o=r,c=i,f=h;s=s^t,r=r^e,i=i^n,h=h^l}function B(t,e,n,a){t=t|0;e=e|0;n=n|0;a=a|0;x(0x0000,0x0800,0x1000,b,l,u,p,_);_=~y&_|y&_+1;p=~w&p|w&p+Number((_|0)===0);u=~g&u|g&u+Number((p|0)===0);l=~A&l|A&l+Number((u|0)===0);s=s^t;r=r^e;i=i^n;h=h^a}function k(t,e,s,n){t=t|0;e=e|0;s=s|0;n=n|0;let r=0,i=0,h=0,l=0,u=0,p=0,_=0,A=0,g=0,w=0;t=t^a,e=e^o,s=s^c,n=n^f;r=E|0,i=d|0,h=m|0,l=C|0;for(;(g|0)<128;g=g+1|0){if(r>>>31){u=u^t,p=p^e,_=_^s,A=A^n}r=r<<1|i>>>31,i=i<<1|h>>>31,h=h<<1|l>>>31,l=l<<1;w=n&1;n=n>>>1|s<<31,s=s>>>1|e<<31,e=e>>>1|t<<31,t=t>>>1;if(w)t=t^0xe1000000}a=u,o=p,c=_,f=A}function I(t){t=t|0;b=t}function R(t,e,n,a){t=t|0;e=e|0;n=n|0;a=a|0;s=t,r=e,i=n,h=a}function G(t,e,s,n){t=t|0;e=e|0;s=s|0;n=n|0;a=t,o=e,c=s,f=n}function N(t,e,s,n){t=t|0;e=e|0;s=s|0;n=n|0;l=t,u=e,p=s,_=n}function L(t,e,s,n){t=t|0;e=e|0;s=s|0;n=n|0;A=t,g=e,w=s,y=n}function O(t,e,s,n){t=t|0;e=e|0;s=s|0;n=n|0;_=~y&_|y&n,p=~w&p|w&s,u=~g&u|g&e,l=~A&l|A&t}function Z(t){t=t|0;if(t&15)return-1;S[t|0]=s>>>24,S[t|1]=s>>>16&255,S[t|2]=s>>>8&255,S[t|3]=s&255,S[t|4]=r>>>24,S[t|5]=r>>>16&255,S[t|6]=r>>>8&255,S[t|7]=r&255,S[t|8]=i>>>24,S[t|9]=i>>>16&255,S[t|10]=i>>>8&255,S[t|11]=i&255,S[t|12]=h>>>24,S[t|13]=h>>>16&255,S[t|14]=h>>>8&255,S[t|15]=h&255;return 16}function K(t){t=t|0;if(t&15)return-1;S[t|0]=a>>>24,S[t|1]=a>>>16&255,S[t|2]=a>>>8&255,S[t|3]=a&255,S[t|4]=o>>>24,S[t|5]=o>>>16&255,S[t|6]=o>>>8&255,S[t|7]=o&255,S[t|8]=c>>>24,S[t|9]=c>>>16&255,S[t|10]=c>>>8&255,S[t|11]=c&255,S[t|12]=f>>>24,S[t|13]=f>>>16&255,S[t|14]=f>>>8&255,S[t|15]=f&255;return 16}function V(){D(0,0,0,0);E=s,d=r,m=i,C=h}function F(t,e,n){t=t|0;e=e|0;n=n|0;let a=0;if(e&15)return-1;while((n|0)>=16){Y[t&7](S[e|0]<<24|S[e|1]<<16|S[e|2]<<8|S[e|3],S[e|4]<<24|S[e|5]<<16|S[e|6]<<8|S[e|7],S[e|8]<<24|S[e|9]<<16|S[e|10]<<8|S[e|11],S[e|12]<<24|S[e|13]<<16|S[e|14]<<8|S[e|15]);S[e|0]=s>>>24,S[e|1]=s>>>16&255,S[e|2]=s>>>8&255,S[e|3]=s&255,S[e|4]=r>>>24,S[e|5]=r>>>16&255,S[e|6]=r>>>8&255,S[e|7]=r&255,S[e|8]=i>>>24,S[e|9]=i>>>16&255,S[e|10]=i>>>8&255,S[e|11]=i&255,S[e|12]=h>>>24,S[e|13]=h>>>16&255,S[e|14]=h>>>8&255,S[e|15]=h&255;a=a+16|0,e=e+16|0,n=n-16|0}return a|0}function X(t,e,s){t=t|0;e=e|0;s=s|0;let n=0;if(e&15)return-1;while((s|0)>=16){j[t&1](S[e|0]<<24|S[e|1]<<16|S[e|2]<<8|S[e|3],S[e|4]<<24|S[e|5]<<16|S[e|6]<<8|S[e|7],S[e|8]<<24|S[e|9]<<16|S[e|10]<<8|S[e|11],S[e|12]<<24|S[e|13]<<16|S[e|14]<<8|S[e|15]);n=n+16|0,e=e+16|0,s=s-16|0}return n|0}const Y=[D,U,M,H,T,z,P,B];const j=[M,k];return{set_rounds:I,set_state:R,set_iv:G,set_nonce:N,set_mask:L,set_counter:O,get_state:Z,get_iv:K,gcm_init:V,cipher:F,mac:X,set_key:n}}(t,e);return r}(t,e)}set_key(t,e,s,n,r,i,h,a,o){}set_iv(t,e,s,n){}set_mask(t,e,s,n){}set_nonce(t,e,s,n){}set_counter(t,e,s,n){}cipher(t,e,s){return 0}gcm_init(){}get_iv(t){return 16}mac(t,e,s){return 0}get_state(t){return 16}}w.ENC={ECB:0,CBC:2,CFB:4,OFB:6,CTR:7},w.DEC={ECB:1,CBC:3,CFB:5,OFB:6,CTR:7},w.MAC={CBC:0,GCM:1},w.HEAP_DATA=16384;class y{constructor(t,s,n=!0,i,h,a){this.pos=0,this.len=0,this.mode=i,this.heap=h||r().subarray(w.HEAP_DATA),this.asm=a||new w(null,this.heap.buffer),this.pos=0,this.len=0;const o=t.length;if(16!==o&&24!==o&&32!==o)throw new e("illegal key size");const c=new DataView(t.buffer,t.byteOffset,t.byteLength);if(this.asm.set_key(o>>2,c.getUint32(0),c.getUint32(4),c.getUint32(8),c.getUint32(12),o>16?c.getUint32(16):0,o>16?c.getUint32(20):0,o>24?c.getUint32(24):0,o>24?c.getUint32(28):0),void 0!==s){if(16!==s.length)throw new e("illegal iv size");const t=new DataView(s.buffer,s.byteOffset,s.byteLength);this.asm.set_iv(t.getUint32(0),t.getUint32(4),t.getUint32(8),t.getUint32(12))}else this.asm.set_iv(0,0,0,0);this.padding=n}AES_Encrypt_process(t){if(!n(t))throw new TypeError("data isn't of expected type");const e=this.asm,s=this.heap,r=w.ENC[this.mode],h=w.HEAP_DATA;let a=this.pos,o=this.len,c=0,f=t.length||0,l=0;let u=0;const p=new Uint8Array(o+f&-16);for(;f>0;)u=i(s,a+o,t,c,f),o+=u,c+=u,f-=u,u=e.cipher(r,h+a,o),u&&p.set(s.subarray(a,a+u),l),l+=u,u<o?(a+=u,o-=u):(a=0,o=0);return this.pos=a,this.len=o,p}AES_Encrypt_finish(){const t=this.asm,s=this.heap,n=w.ENC[this.mode],r=w.HEAP_DATA,i=this.pos;let h=this.len;const a=16-h%16;let o=h;if(this.hasOwnProperty("padding")){if(this.padding){for(let t=0;t<a;++t)s[i+h+t]=a;h+=a,o=h}else if(h%16)throw new e("data length must be a multiple of the block size")}else h+=a;const c=new Uint8Array(o);return h&&t.cipher(n,r+i,h),o&&c.set(s.subarray(i,i+o)),this.pos=0,this.len=0,c}AES_Decrypt_process(t){if(!n(t))throw new TypeError("data isn't of expected type");const e=this.asm,s=this.heap,r=w.DEC[this.mode],h=w.HEAP_DATA;let a=this.pos,o=this.len,c=0,f=t.length||0,l=0,u=o+f&-16,p=0,_=0;this.padding&&(p=o+f-u||16,u-=p);const A=new Uint8Array(u);for(;f>0;)_=i(s,a+o,t,c,f),o+=_,c+=_,f-=_,_=e.cipher(r,h+a,o-(f?0:p)),_&&A.set(s.subarray(a,a+_),l),l+=_,_<o?(a+=_,o-=_):(a=0,o=0);return this.pos=a,this.len=o,A}AES_Decrypt_finish(){const t=this.asm,n=this.heap,r=w.DEC[this.mode],i=w.HEAP_DATA,h=this.pos;let a=this.len,o=a;if(a>0){if(a%16){if(this.hasOwnProperty("padding"))throw new e("data length must be a multiple of the block size");a+=16-a%16}if(t.cipher(r,i+h,a),this.hasOwnProperty("padding")&&this.padding){const t=n[h+o-1];if(t<1||t>16||t>o)throw new s("bad padding");let e=0;for(let s=t;s>1;s--)e|=t^n[h+o-s];if(e)throw new s("bad padding");o-=t}}const c=new Uint8Array(o);return o>0&&c.set(n.subarray(h,h+o)),this.pos=0,this.len=0,c}}class E{constructor(t,s,n,r=16,i){if(this.tagSize=r,this.gamma0=0,this.counter=1,this.aes=i||new y(t,void 0,!1,"CTR"),this.aes.asm.gcm_init(),this.tagSize<4||this.tagSize>16)throw new e("illegal tagSize value");const h=s.length||0,a=new Uint8Array(16);12!==h?(this._gcm_mac_process(s),this.aes.heap[0]=0,this.aes.heap[1]=0,this.aes.heap[2]=0,this.aes.heap[3]=0,this.aes.heap[4]=0,this.aes.heap[5]=0,this.aes.heap[6]=0,this.aes.heap[7]=0,this.aes.heap[8]=0,this.aes.heap[9]=0,this.aes.heap[10]=0,this.aes.heap[11]=h>>>29,this.aes.heap[12]=h>>>21&255,this.aes.heap[13]=h>>>13&255,this.aes.heap[14]=h>>>5&255,this.aes.heap[15]=h<<3&255,this.aes.asm.mac(w.MAC.GCM,w.HEAP_DATA,16),this.aes.asm.get_iv(w.HEAP_DATA),this.aes.asm.set_iv(0,0,0,0),a.set(this.aes.heap.subarray(0,16))):(a.set(s),a[15]=1);const o=new DataView(a.buffer);if(this.gamma0=o.getUint32(12),this.aes.asm.set_nonce(o.getUint32(0),o.getUint32(4),o.getUint32(8),0),this.aes.asm.set_mask(0,0,0,4294967295),void 0!==n){if(n.length>68719476704)throw new e("illegal adata length");n.length?(this.adata=n,this._gcm_mac_process(n)):this.adata=void 0}else this.adata=void 0;if(this.counter<1||this.counter>4294967295)throw new RangeError("counter must be a positive 32-bit integer");this.aes.asm.set_counter(0,0,0,this.gamma0+this.counter|0)}static encrypt(t,e,s,n,r){return new E(e,s,n,r).encrypt(t)}static decrypt(t,e,s,n,r){return new E(e,s,n,r).decrypt(t)}encrypt(t){return this.AES_GCM_encrypt(t)}decrypt(t){return this.AES_GCM_decrypt(t)}AES_GCM_Encrypt_process(t){let e=0,s=t.length||0;const n=this.aes.asm,r=this.aes.heap;let h=this.counter,a=this.aes.pos,o=this.aes.len,c=0;const f=o+s&-16;let l=0;if((h-1<<4)+o+s>68719476704)throw new RangeError("counter overflow");const u=new Uint8Array(f);for(;s>0;)l=i(r,a+o,t,e,s),o+=l,e+=l,s-=l,l=n.cipher(w.ENC.CTR,w.HEAP_DATA+a,o),l=n.mac(w.MAC.GCM,w.HEAP_DATA+a,l),l&&u.set(r.subarray(a,a+l),c),h+=l>>>4,c+=l,l<o?(a+=l,o-=l):(a=0,o=0);return this.counter=h,this.aes.pos=a,this.aes.len=o,u}AES_GCM_Encrypt_finish(){const t=this.aes.asm,e=this.aes.heap,s=this.counter,n=this.tagSize,r=this.adata,i=this.aes.pos,h=this.aes.len,a=new Uint8Array(h+n);t.cipher(w.ENC.CTR,w.HEAP_DATA+i,h+15&-16),h&&a.set(e.subarray(i,i+h));let o=h;for(;15&o;o++)e[i+o]=0;t.mac(w.MAC.GCM,w.HEAP_DATA+i,o);const c=void 0!==r?r.length:0,f=(s-1<<4)+h;return e[0]=0,e[1]=0,e[2]=0,e[3]=c>>>29,e[4]=c>>>21,e[5]=c>>>13&255,e[6]=c>>>5&255,e[7]=c<<3&255,e[8]=e[9]=e[10]=0,e[11]=f>>>29,e[12]=f>>>21&255,e[13]=f>>>13&255,e[14]=f>>>5&255,e[15]=f<<3&255,t.mac(w.MAC.GCM,w.HEAP_DATA,16),t.get_iv(w.HEAP_DATA),t.set_counter(0,0,0,this.gamma0),t.cipher(w.ENC.CTR,w.HEAP_DATA,16),a.set(e.subarray(0,n),h),this.counter=1,this.aes.pos=0,this.aes.len=0,a}AES_GCM_Decrypt_process(t){let e=0,s=t.length||0;const n=this.aes.asm,r=this.aes.heap;let h=this.counter;const a=this.tagSize;let o=this.aes.pos,c=this.aes.len,f=0;const l=c+s>a?c+s-a&-16:0,u=c+s-l;let p=0;if((h-1<<4)+c+s>68719476704)throw new RangeError("counter overflow");const _=new Uint8Array(l);for(;s>u;)p=i(r,o+c,t,e,s-u),c+=p,e+=p,s-=p,p=n.mac(w.MAC.GCM,w.HEAP_DATA+o,p),p=n.cipher(w.DEC.CTR,w.HEAP_DATA+o,p),p&&_.set(r.subarray(o,o+p),f),h+=p>>>4,f+=p,o=0,c=0;return s>0&&(c+=i(r,0,t,e,s)),this.counter=h,this.aes.pos=o,this.aes.len=c,_}AES_GCM_Decrypt_finish(){const e=this.aes.asm,n=this.aes.heap,r=this.tagSize,i=this.adata,h=this.counter,a=this.aes.pos,o=this.aes.len,c=o-r;if(o<r)throw new t("authentication tag not found");const f=new Uint8Array(c),l=n.slice(a+c,a+o);let u=c;for(;15&u;u++)n[a+u]=0;e.mac(w.MAC.GCM,w.HEAP_DATA+a,u),e.cipher(w.DEC.CTR,w.HEAP_DATA+a,u),c&&f.set(n.subarray(a,a+c));const p=void 0!==i?i.length:0,_=(h-1<<4)+o-r;n[0]=0,n[1]=0,n[2]=0,n[3]=p>>>29,n[4]=p>>>21,n[5]=p>>>13&255,n[6]=p>>>5&255,n[7]=p<<3&255,n[8]=n[9]=n[10]=0,n[11]=_>>>29,n[12]=_>>>21&255,n[13]=_>>>13&255,n[14]=_>>>5&255,n[15]=_<<3&255,e.mac(w.MAC.GCM,w.HEAP_DATA,16),e.get_iv(w.HEAP_DATA),e.set_counter(0,0,0,this.gamma0),e.cipher(w.ENC.CTR,w.HEAP_DATA,16);let A=0;for(let t=0;t<r;++t)A|=l[t]^n[t];if(A)throw new s("data integrity check failed");return this.counter=1,this.aes.pos=0,this.aes.len=0,f}AES_GCM_decrypt(t){const e=this.AES_GCM_Decrypt_process(t),s=this.AES_GCM_Decrypt_finish(),n=new Uint8Array(e.length+s.length);return e.length&&n.set(e),s.length&&n.set(s,e.length),n}AES_GCM_encrypt(t){const e=this.AES_GCM_Encrypt_process(t),s=this.AES_GCM_Encrypt_finish(),n=new Uint8Array(e.length+s.length);return e.length&&n.set(e),s.length&&n.set(s,e.length),n}_gcm_mac_process(t){const e=this.aes.heap,s=this.aes.asm;let n=0,r=t.length||0,h=0;for(;r>0;){for(h=i(e,0,t,n,r),n+=h,r-=h;15&h;)e[h++]=0;s.mac(w.MAC.GCM,w.HEAP_DATA,h)}}}class d{constructor(t,e=!1,s){this.aes=s||new y(t,void 0,e,"ECB")}static encrypt(t,e,s=!1){return new d(e,s).encrypt(t)}static decrypt(t,e,s=!1){return new d(e,s).decrypt(t)}encrypt(t){return h(this.aes.AES_Encrypt_process(t),this.aes.AES_Encrypt_finish())}decrypt(t){return h(this.aes.AES_Decrypt_process(t),this.aes.AES_Decrypt_finish())}}class m{constructor(t,e,s=!0,n){this.aes=n||new y(t,e,s,"CBC")}static encrypt(t,e,s=!0,n){return new m(e,n,s).encrypt(t)}static decrypt(t,e,s=!0,n){return new m(e,n,s).decrypt(t)}encrypt(t){return h(this.aes.AES_Encrypt_process(t),this.aes.AES_Encrypt_finish())}decrypt(t){return h(this.aes.AES_Decrypt_process(t),this.aes.AES_Decrypt_finish())}}class C{constructor(t,s,n,r=16,i,h){if(this.counter=1,this.dataLength=-1,this.aes=h||new y(t,void 0,void 0,"CCM"),r<4||r>16||1&r)throw new e("illegal tagSize value");if(this.tagSize=r,this.nonce=s,s.length<8||s.length>13)throw new e("illegal nonce length");if(this.lengthSize=15-s.length,(s=new Uint8Array(s.length+1))[0]=this.lengthSize-1,s.set(this.nonce,1),i<0||i>0xffffffffffff0||i>Math.pow(2,8*this.lengthSize)-16)throw new e("illegal dataLength value");if(void 0!==n){if(n.length>65279)throw new e("illegal adata length");this.adata=n.length?n:void 0}this.dataLength=i,this.counter=1,this.AES_CCM_calculate_iv(),this.AES_CTR_set_options(s,this.counter,8*this.lengthSize)}static encrypt(t,e,s,n,r=16){return new C(e,s,n,r,t.length).encrypt(t)}static decrypt(t,e,s,n,r=16){return new C(e,s,n,r,t.length-r).decrypt(t)}encrypt(t){this.dataLength=t.length||0;const e=this.AES_CCM_Encrypt_process(t),s=this.AES_CCM_Encrypt_finish(),n=new Uint8Array(e.length+s.length);return e.length&&n.set(e),s.length&&n.set(s,e.length),n}decrypt(t){this.dataLength=t.length||0;const e=this.AES_CCM_Decrypt_process(t),s=this.AES_CCM_Decrypt_finish(),n=new Uint8Array(e.length+s.length);return e.length&&n.set(e),s.length&&n.set(s,e.length),n}AES_CCM_calculate_iv(){const t=this.nonce,e=this.adata,s=this.tagSize,n=this.lengthSize,r=this.dataLength,i=new Uint8Array(16+(e?2+e.length:0));i[0]=(e?64:0)|s-2<<2|n-1,i.set(t,1),n>6&&(i[9]=r/4294967296>>>16&15),n>5&&(i[10]=r/4294967296>>>8&255),n>4&&(i[11]=r/4294967296&255),n>3&&(i[12]=r>>>24),n>2&&(i[13]=r>>>16&255),i[14]=r>>>8&255,i[15]=255&r,e&&(i[16]=e.length>>>8&255,i[17]=255&e.length,i.set(e,18)),this._cbc_mac_process(i),this.aes.asm.get_state(w.HEAP_DATA);const h=new Uint8Array(this.aes.heap.subarray(0,16)),a=new DataView(h.buffer,h.byteOffset,h.byteLength);this.aes.asm.set_iv(a.getUint32(0),a.getUint32(4),a.getUint32(8),a.getUint32(12))}_cbc_mac_process(t){const e=this.aes.heap,s=this.aes.asm;let n=0,r=t.length||0,h=0;for(;r>0;){for(h=i(e,0,t,n,r);15&h;)e[h++]=0;n+=h,r-=h,s.mac(w.MAC.CBC,w.HEAP_DATA,h)}}AES_CCM_Encrypt_process(t){const e=this.aes.asm,s=this.aes.heap;let n=0,r=t.length||0,h=this.counter,a=this.aes.pos,o=this.aes.len;const c=o+r&-16;let f=0,l=0;if((h-1<<4)+o+r>0xffffffffffff0)throw new RangeError("counter overflow");const u=new Uint8Array(c);for(;r>0;)l=i(s,a+o,t,n,r),o+=l,n+=l,r-=l,l=e.mac(w.MAC.CBC,w.HEAP_DATA+a,o),l=e.cipher(w.ENC.CTR,w.HEAP_DATA+a,l),l&&u.set(s.subarray(a,a+l),f),h+=l>>>4,f+=l,l<o?(a+=l,o-=l):(a=0,o=0);return this.counter=h,this.aes.pos=a,this.aes.len=o,u}AES_CCM_Encrypt_finish(){const t=this.aes.asm,e=this.aes.heap,s=this.tagSize,n=this.aes.pos,r=this.aes.len,i=new Uint8Array(r+s);let h=r;for(;15&h;h++)e[n+h]=0;return t.mac(w.MAC.CBC,w.HEAP_DATA+n,h),t.cipher(w.ENC.CTR,w.HEAP_DATA+n,h),r&&i.set(e.subarray(n,n+r)),t.set_counter(0,0,0,0),t.get_iv(w.HEAP_DATA),t.cipher(w.ENC.CTR,w.HEAP_DATA,16),i.set(e.subarray(0,s),r),this.counter=1,this.aes.pos=0,this.aes.len=0,i}AES_CCM_Decrypt_process(t){let e=0,s=t.length||0;const n=this.aes.asm,r=this.aes.heap;let h=this.counter;const a=this.tagSize;let o=this.aes.pos,c=this.aes.len,f=0;const l=c+s>a?c+s-a&-16:0,u=c+s-l;let p=0;if((h-1<<4)+c+s>0xffffffffffff0)throw new RangeError("counter overflow");const _=new Uint8Array(l);for(;s>u;)p=i(r,o+c,t,e,s-u),c+=p,e+=p,s-=p,p=n.cipher(w.DEC.CTR,w.HEAP_DATA+o,p),p=n.mac(w.MAC.CBC,w.HEAP_DATA+o,p),p&&_.set(r.subarray(o,o+p),f),h+=p>>>4,f+=p,o=0,c=0;return s>0&&(c+=i(r,0,t,e,s)),this.counter=h,this.aes.pos=o,this.aes.len=c,_}AES_CCM_Decrypt_finish(){const e=this.aes.asm,n=this.aes.heap,r=this.tagSize,i=this.aes.pos,h=this.aes.len,a=h-r;if(h<r)throw new t("authentication tag not found");const o=new Uint8Array(a),c=new Uint8Array(n.subarray(i+a,i+h));e.cipher(w.DEC.CTR,w.HEAP_DATA+i,a+15&-16),o.set(n.subarray(i,i+a));let f=a;for(;15&f;f++)n[i+f]=0;e.mac(w.MAC.CBC,w.HEAP_DATA+i,f),e.set_counter(0,0,0,0),e.get_iv(w.HEAP_DATA),e.cipher(w.ENC.CTR,w.HEAP_DATA,16);let l=0;for(let t=0;t<r;++t)l|=c[t]^n[t];if(l)throw new s("data integrity check failed");return this.counter=1,this.aes.pos=0,this.aes.len=0,o}AES_CTR_set_options(t,s,n){if(n<8||n>48)throw new e("illegal counter size");const r=Math.pow(2,n)-1;this.aes.asm.set_mask(0,0,r/4294967296|0,0|r);const i=t.length;if(!i||i>16)throw new e("illegal nonce size");this.nonce=t;const h=new DataView(new ArrayBuffer(16));if(new Uint8Array(h.buffer).set(t),this.aes.asm.set_nonce(h.getUint32(0),h.getUint32(4),h.getUint32(8),h.getUint32(12)),s<0||s>=Math.pow(2,n))throw new e("illegal counter value");this.counter=s,this.aes.asm.set_counter(0,0,s/4294967296|0,0|s)}}class b{constructor(){this.pos=0,this.len=0}reset(){return this.result=null,this.pos=0,this.len=0,this.asm.reset(),this}process(e){if(null!==this.result)throw new t("state must be reset before processing new data");const s=this.asm,n=this.heap;let r=this.pos,h=this.len,a=0,o=e.length,c=0;for(;o>0;)c=i(n,r+h,e,a,o),h+=c,a+=c,o-=c,c=s.process(r,h),r+=c,h-=c,h||(r=0);return this.pos=r,this.len=h,this}finish(){if(null!==this.result)throw new t("state must be reset before processing new data");return this.asm.finish(this.pos,this.len,0),this.result=new Uint8Array(this.HASH_SIZE),this.result.set(this.heap.subarray(0,this.HASH_SIZE)),this.pos=0,this.len=0,this}}const v=64,S=20;class x extends b{constructor(){super(),this.NAME="sha1",this.BLOCK_SIZE=64,this.HASH_SIZE=20,this.heap=r(),this.asm=function(t,e){let s=0,n=0,r=0,i=0,h=0,a=0,o=0,c=0,f=0,l=0,u=0,p=0,_=0,A=0,g=0,w=0,y=0;const E=new Uint8Array(e);function d(t,e,a,o,c,f,l,u,p,_,A,g,w,y,E,d){let m=0,C=0,b=0,v=0,S=0,x=0,D=0,U=0,M=0,H=0,T=0,z=0,P=0,B=0,k=0,I=0,R=0,G=0,N=0,L=0,O=0,Z=0,K=0,V=0,F=0,X=0,Y=0,j=0,q=0,J=0,Q=0,W=0,$=0,tt=0,et=0,st=0,nt=0,rt=0,it=0,ht=0,at=0,ot=0,ct=0,ft=0,lt=0,ut=0,pt=0,_t=0,At=0,gt=0,wt=0,yt=0,Et=0,dt=0,mt=0,Ct=0,bt=0,vt=0,St=0,xt=0,Dt=0,Ut=0,Mt=0,Ht=0,Tt=0,zt=0,Pt=0,Bt=0,kt=0,It=0,Rt=0;m=s,C=n,b=r,v=i,S=h,D=(t|=0)+(m<<5|m>>>27)+S+(C&b|~C&v)+1518500249|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,D=(e|=0)+(m<<5|m>>>27)+S+(C&b|~C&v)+1518500249|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,D=(a|=0)+(m<<5|m>>>27)+S+(C&b|~C&v)+1518500249|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,D=(o|=0)+(m<<5|m>>>27)+S+(C&b|~C&v)+1518500249|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,D=(c|=0)+(m<<5|m>>>27)+S+(C&b|~C&v)+1518500249|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,D=(f|=0)+(m<<5|m>>>27)+S+(C&b|~C&v)+1518500249|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,D=(l|=0)+(m<<5|m>>>27)+S+(C&b|~C&v)+1518500249|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,D=(u|=0)+(m<<5|m>>>27)+S+(C&b|~C&v)+1518500249|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,D=(p|=0)+(m<<5|m>>>27)+S+(C&b|~C&v)+1518500249|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,D=(_|=0)+(m<<5|m>>>27)+S+(C&b|~C&v)+1518500249|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,D=(A|=0)+(m<<5|m>>>27)+S+(C&b|~C&v)+1518500249|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,D=(g|=0)+(m<<5|m>>>27)+S+(C&b|~C&v)+1518500249|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,D=(w|=0)+(m<<5|m>>>27)+S+(C&b|~C&v)+1518500249|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,D=(y|=0)+(m<<5|m>>>27)+S+(C&b|~C&v)+1518500249|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,D=(E|=0)+(m<<5|m>>>27)+S+(C&b|~C&v)+1518500249|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,D=(d|=0)+(m<<5|m>>>27)+S+(C&b|~C&v)+1518500249|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=y^p^a^t,U=x<<1|x>>>31,D=U+(m<<5|m>>>27)+S+(C&b|~C&v)+1518500249|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=E^_^o^e,M=x<<1|x>>>31,D=M+(m<<5|m>>>27)+S+(C&b|~C&v)+1518500249|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=d^A^c^a,H=x<<1|x>>>31,D=H+(m<<5|m>>>27)+S+(C&b|~C&v)+1518500249|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=U^g^f^o,T=x<<1|x>>>31,D=T+(m<<5|m>>>27)+S+(C&b|~C&v)+1518500249|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=M^w^l^c,z=x<<1|x>>>31,D=z+(m<<5|m>>>27)+S+(C^b^v)+1859775393|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=H^y^u^f,P=x<<1|x>>>31,D=P+(m<<5|m>>>27)+S+(C^b^v)+1859775393|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=T^E^p^l,B=x<<1|x>>>31,D=B+(m<<5|m>>>27)+S+(C^b^v)+1859775393|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=z^d^_^u,k=x<<1|x>>>31,D=k+(m<<5|m>>>27)+S+(C^b^v)+1859775393|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=P^U^A^p,I=x<<1|x>>>31,D=I+(m<<5|m>>>27)+S+(C^b^v)+1859775393|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=B^M^g^_,R=x<<1|x>>>31,D=R+(m<<5|m>>>27)+S+(C^b^v)+1859775393|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=k^H^w^A,G=x<<1|x>>>31,D=G+(m<<5|m>>>27)+S+(C^b^v)+1859775393|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=I^T^y^g,N=x<<1|x>>>31,D=N+(m<<5|m>>>27)+S+(C^b^v)+1859775393|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=R^z^E^w,L=x<<1|x>>>31,D=L+(m<<5|m>>>27)+S+(C^b^v)+1859775393|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=G^P^d^y,O=x<<1|x>>>31,D=O+(m<<5|m>>>27)+S+(C^b^v)+1859775393|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=N^B^U^E,Z=x<<1|x>>>31,D=Z+(m<<5|m>>>27)+S+(C^b^v)+1859775393|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=L^k^M^d,K=x<<1|x>>>31,D=K+(m<<5|m>>>27)+S+(C^b^v)+1859775393|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=O^I^H^U,V=x<<1|x>>>31,D=V+(m<<5|m>>>27)+S+(C^b^v)+1859775393|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=Z^R^T^M,F=x<<1|x>>>31,D=F+(m<<5|m>>>27)+S+(C^b^v)+1859775393|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=K^G^z^H,X=x<<1|x>>>31,D=X+(m<<5|m>>>27)+S+(C^b^v)+1859775393|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=V^N^P^T,Y=x<<1|x>>>31,D=Y+(m<<5|m>>>27)+S+(C^b^v)+1859775393|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=F^L^B^z,j=x<<1|x>>>31,D=j+(m<<5|m>>>27)+S+(C^b^v)+1859775393|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=X^O^k^P,q=x<<1|x>>>31,D=q+(m<<5|m>>>27)+S+(C^b^v)+1859775393|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=Y^Z^I^B,J=x<<1|x>>>31,D=J+(m<<5|m>>>27)+S+(C^b^v)+1859775393|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=j^K^R^k,Q=x<<1|x>>>31,D=Q+(m<<5|m>>>27)+S+(C^b^v)+1859775393|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=q^V^G^I,W=x<<1|x>>>31,D=W+(m<<5|m>>>27)+S+(C&b|C&v|b&v)-1894007588|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=J^F^N^R,$=x<<1|x>>>31,D=$+(m<<5|m>>>27)+S+(C&b|C&v|b&v)-1894007588|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=Q^X^L^G,tt=x<<1|x>>>31,D=tt+(m<<5|m>>>27)+S+(C&b|C&v|b&v)-1894007588|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=W^Y^O^N,et=x<<1|x>>>31,D=et+(m<<5|m>>>27)+S+(C&b|C&v|b&v)-1894007588|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=$^j^Z^L,st=x<<1|x>>>31,D=st+(m<<5|m>>>27)+S+(C&b|C&v|b&v)-1894007588|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=tt^q^K^O,nt=x<<1|x>>>31,D=nt+(m<<5|m>>>27)+S+(C&b|C&v|b&v)-1894007588|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=et^J^V^Z,rt=x<<1|x>>>31,D=rt+(m<<5|m>>>27)+S+(C&b|C&v|b&v)-1894007588|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=st^Q^F^K,it=x<<1|x>>>31,D=it+(m<<5|m>>>27)+S+(C&b|C&v|b&v)-1894007588|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=nt^W^X^V,ht=x<<1|x>>>31,D=ht+(m<<5|m>>>27)+S+(C&b|C&v|b&v)-1894007588|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=rt^$^Y^F,at=x<<1|x>>>31,D=at+(m<<5|m>>>27)+S+(C&b|C&v|b&v)-1894007588|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=it^tt^j^X,ot=x<<1|x>>>31,D=ot+(m<<5|m>>>27)+S+(C&b|C&v|b&v)-1894007588|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=ht^et^q^Y,ct=x<<1|x>>>31,D=ct+(m<<5|m>>>27)+S+(C&b|C&v|b&v)-1894007588|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=at^st^J^j,ft=x<<1|x>>>31,D=ft+(m<<5|m>>>27)+S+(C&b|C&v|b&v)-1894007588|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=ot^nt^Q^q,lt=x<<1|x>>>31,D=lt+(m<<5|m>>>27)+S+(C&b|C&v|b&v)-1894007588|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=ct^rt^W^J,ut=x<<1|x>>>31,D=ut+(m<<5|m>>>27)+S+(C&b|C&v|b&v)-1894007588|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=ft^it^$^Q,pt=x<<1|x>>>31,D=pt+(m<<5|m>>>27)+S+(C&b|C&v|b&v)-1894007588|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=lt^ht^tt^W,_t=x<<1|x>>>31,D=_t+(m<<5|m>>>27)+S+(C&b|C&v|b&v)-1894007588|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=ut^at^et^$,At=x<<1|x>>>31,D=At+(m<<5|m>>>27)+S+(C&b|C&v|b&v)-1894007588|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=pt^ot^st^tt,gt=x<<1|x>>>31,D=gt+(m<<5|m>>>27)+S+(C&b|C&v|b&v)-1894007588|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=_t^ct^nt^et,wt=x<<1|x>>>31,D=wt+(m<<5|m>>>27)+S+(C&b|C&v|b&v)-1894007588|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=At^ft^rt^st,yt=x<<1|x>>>31,D=yt+(m<<5|m>>>27)+S+(C^b^v)-899497514|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=gt^lt^it^nt,Et=x<<1|x>>>31,D=Et+(m<<5|m>>>27)+S+(C^b^v)-899497514|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=wt^ut^ht^rt,dt=x<<1|x>>>31,D=dt+(m<<5|m>>>27)+S+(C^b^v)-899497514|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=yt^pt^at^it,mt=x<<1|x>>>31,D=mt+(m<<5|m>>>27)+S+(C^b^v)-899497514|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=Et^_t^ot^ht,Ct=x<<1|x>>>31,D=Ct+(m<<5|m>>>27)+S+(C^b^v)-899497514|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=dt^At^ct^at,bt=x<<1|x>>>31,D=bt+(m<<5|m>>>27)+S+(C^b^v)-899497514|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=mt^gt^ft^ot,vt=x<<1|x>>>31,D=vt+(m<<5|m>>>27)+S+(C^b^v)-899497514|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=Ct^wt^lt^ct,St=x<<1|x>>>31,D=St+(m<<5|m>>>27)+S+(C^b^v)-899497514|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=bt^yt^ut^ft,xt=x<<1|x>>>31,D=xt+(m<<5|m>>>27)+S+(C^b^v)-899497514|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=vt^Et^pt^lt,Dt=x<<1|x>>>31,D=Dt+(m<<5|m>>>27)+S+(C^b^v)-899497514|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=St^dt^_t^ut,Ut=x<<1|x>>>31,D=Ut+(m<<5|m>>>27)+S+(C^b^v)-899497514|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=xt^mt^At^pt,Mt=x<<1|x>>>31,D=Mt+(m<<5|m>>>27)+S+(C^b^v)-899497514|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=Dt^Ct^gt^_t,Ht=x<<1|x>>>31,D=Ht+(m<<5|m>>>27)+S+(C^b^v)-899497514|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=Ut^bt^wt^At,Tt=x<<1|x>>>31,D=Tt+(m<<5|m>>>27)+S+(C^b^v)-899497514|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=Mt^vt^yt^gt,zt=x<<1|x>>>31,D=zt+(m<<5|m>>>27)+S+(C^b^v)-899497514|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=Ht^St^Et^wt,Pt=x<<1|x>>>31,D=Pt+(m<<5|m>>>27)+S+(C^b^v)-899497514|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=Tt^xt^dt^yt,Bt=x<<1|x>>>31,D=Bt+(m<<5|m>>>27)+S+(C^b^v)-899497514|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=zt^Dt^mt^Et,kt=x<<1|x>>>31,D=kt+(m<<5|m>>>27)+S+(C^b^v)-899497514|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=Pt^Ut^Ct^dt,It=x<<1|x>>>31,D=It+(m<<5|m>>>27)+S+(C^b^v)-899497514|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,x=Bt^Mt^bt^mt,Rt=x<<1|x>>>31,D=Rt+(m<<5|m>>>27)+S+(C^b^v)-899497514|0,S=v,v=b,b=C<<30|C>>>2,C=m,m=D,s=s+m|0,n=n+C|0,r=r+b|0,i=i+v|0,h=h+S|0}function m(t){d(E[0|(t|=0)]<<24|E[1|t]<<16|E[2|t]<<8|E[3|t],E[4|t]<<24|E[5|t]<<16|E[6|t]<<8|E[7|t],E[8|t]<<24|E[9|t]<<16|E[10|t]<<8|E[11|t],E[12|t]<<24|E[13|t]<<16|E[14|t]<<8|E[15|t],E[16|t]<<24|E[17|t]<<16|E[18|t]<<8|E[19|t],E[20|t]<<24|E[21|t]<<16|E[22|t]<<8|E[23|t],E[24|t]<<24|E[25|t]<<16|E[26|t]<<8|E[27|t],E[28|t]<<24|E[29|t]<<16|E[30|t]<<8|E[31|t],E[32|t]<<24|E[33|t]<<16|E[34|t]<<8|E[35|t],E[36|t]<<24|E[37|t]<<16|E[38|t]<<8|E[39|t],E[40|t]<<24|E[41|t]<<16|E[42|t]<<8|E[43|t],E[44|t]<<24|E[45|t]<<16|E[46|t]<<8|E[47|t],E[48|t]<<24|E[49|t]<<16|E[50|t]<<8|E[51|t],E[52|t]<<24|E[53|t]<<16|E[54|t]<<8|E[55|t],E[56|t]<<24|E[57|t]<<16|E[58|t]<<8|E[59|t],E[60|t]<<24|E[61|t]<<16|E[62|t]<<8|E[63|t])}function C(t){E[0|(t|=0)]=s>>>24,E[1|t]=s>>>16&255,E[2|t]=s>>>8&255,E[3|t]=255&s,E[4|t]=n>>>24,E[5|t]=n>>>16&255,E[6|t]=n>>>8&255,E[7|t]=255&n,E[8|t]=r>>>24,E[9|t]=r>>>16&255,E[10|t]=r>>>8&255,E[11|t]=255&r,E[12|t]=i>>>24,E[13|t]=i>>>16&255,E[14|t]=i>>>8&255,E[15|t]=255&i,E[16|t]=h>>>24,E[17|t]=h>>>16&255,E[18|t]=h>>>8&255,E[19|t]=255&h}function b(){s=1732584193,n=4023233417,r=2562383102,i=271733878,h=3285377520,a=o=0}function v(t,e){e|=0;let s=0;if(63&(t|=0))return-1;for(;(0|e)>=64;)m(t),t=t+64|0,e=e-64|0,s=s+64|0;return a=a+s|0,a>>>0<s>>>0&&(o=o+1|0),0|s}function S(t,e,s){let n=0,r=0;if(63&(t|=0))return-1;if(~(s|=0)&&31&s)return-1;if((0|(e|=0))>=64){if(n=0|v(t,e),-1==(0|n))return-1;t=t+n|0,e=e-n|0}if(n=n+e|0,a=a+e|0,a>>>0<e>>>0&&(o=o+1|0),E[t|e]=128,(0|e)>=56){for(r=e+1|0;(0|r)<64;r=r+1|0)E[t|r]=0;m(t),e=0,E[0|t]=0}for(r=e+1|0;(0|r)<59;r=r+1|0)E[t|r]=0;return E[56|t]=o>>>21&255,E[57|t]=o>>>13&255,E[58|t]=o>>>5&255,E[59|t]=o<<3&255|a>>>29,E[60|t]=a>>>21&255,E[61|t]=a>>>13&255,E[62|t]=a>>>5&255,E[63|t]=a<<3&255,m(t),~s&&C(s),0|n}function x(){s=c,n=f,r=l,i=u,h=p,a=64,o=0}function D(){s=_,n=A,r=g,i=w,h=y,a=64,o=0}function U(t,e,a){let o=0,c=0,f=0,l=0,u=0,p=0;return 63&(t|=0)||~(a|=0)&&31&a?-1:(p=0|S(t,e|=0,-1),o=s,c=n,f=r,l=i,u=h,D(),d(o,c,f,l,u,2147483648,0,0,0,0,0,0,0,0,0,672),~a&&C(a),0|p)}return{reset:b,init:function(t,e,c,f,l,u,p){s=t|=0,n=e|=0,r=c|=0,i=f|=0,h=l|=0,a=u|=0,o=p|=0},process:v,finish:S,hmac_reset:x,hmac_init:function(t,e,E,m,C,v,S,x,D,U,M,H,T,z,P,B){t|=0,e|=0,E|=0,m|=0,C|=0,v|=0,S|=0,x|=0,D|=0,U|=0,M|=0,H|=0,T|=0,z|=0,P|=0,B|=0,b(),d(1549556828^t,1549556828^e,1549556828^E,1549556828^m,1549556828^C,1549556828^v,1549556828^S,1549556828^x,1549556828^D,1549556828^U,1549556828^M,1549556828^H,1549556828^T,1549556828^z,1549556828^P,1549556828^B),_=s,A=n,g=r,w=i,y=h,b(),d(909522486^t,909522486^e,909522486^E,909522486^m,909522486^C,909522486^v,909522486^S,909522486^x,909522486^D,909522486^U,909522486^M,909522486^H,909522486^T,909522486^z,909522486^P,909522486^B),c=s,f=n,l=r,u=i,p=h,a=64,o=0},hmac_finish:U,pbkdf2_generate_block:function(t,e,a,o,c){a|=0,o|=0;let f=0,l=0,u=0,p=0,_=0,A=0,g=0,w=0,y=0,m=0;if(63&(t|=0))return-1;if(~(c|=0)&&31&c)return-1;for(E[t+(e|=0)|0]=a>>>24,E[t+e+1|0]=a>>>16&255,E[t+e+2|0]=a>>>8&255,E[t+e+3|0]=255&a,U(t,e+4|0,-1),f=A=s,l=g=n,u=w=r,p=y=i,_=m=h,o=o-1|0;(0|o)>0;)x(),d(A,g,w,y,m,2147483648,0,0,0,0,0,0,0,0,0,672),A=s,g=n,w=r,y=i,m=h,D(),d(A,g,w,y,m,2147483648,0,0,0,0,0,0,0,0,0,672),A=s,g=n,w=r,y=i,m=h,f^=s,l^=n,u^=r,p^=i,_^=h,o=o-1|0;return s=f,n=l,r=u,i=p,h=_,~c&&C(c),0}}}(0,this.heap.buffer),this.reset()}}x.NAME="sha1";const D=64,U=32;class M extends b{constructor(){super(),this.NAME="sha256",this.BLOCK_SIZE=64,this.HASH_SIZE=32,this.heap=r(),this.asm=function(t,e){let s=0,n=0,r=0,i=0,h=0,a=0,o=0,c=0,f=0,l=0,u=0,p=0,_=0,A=0,g=0,w=0,y=0,E=0,d=0,m=0,C=0,b=0,v=0,S=0,x=0,D=0;const U=new Uint8Array(e);function M(t,e,f,l,u,p,_,A,g,w,y,E,d,m,C,b){let v=0,S=0,x=0,D=0,U=0,M=0,H=0,T=0;v=s,S=n,x=r,D=i,U=h,M=a,H=o,T=c,T=(t|=0)+T+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(H^U&(M^H))+1116352408|0,D=D+T|0,T=T+(v&S^x&(v^S))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0,H=(e|=0)+H+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(M^D&(U^M))+1899447441|0,x=x+H|0,H=H+(T&v^S&(T^v))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0,M=(f|=0)+M+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(U^x&(D^U))+3049323471|0,S=S+M|0,M=M+(H&T^v&(H^T))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0,U=(l|=0)+U+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(D^S&(x^D))+3921009573|0,v=v+U|0,U=U+(M&H^T&(M^H))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0,D=(u|=0)+D+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(x^v&(S^x))+961987163|0,T=T+D|0,D=D+(U&M^H&(U^M))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0,x=(p|=0)+x+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(S^T&(v^S))+1508970993|0,H=H+x|0,x=x+(D&U^M&(D^U))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0,S=(_|=0)+S+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(v^H&(T^v))+2453635748|0,M=M+S|0,S=S+(x&D^U&(x^D))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0,v=(A|=0)+v+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(T^M&(H^T))+2870763221|0,U=U+v|0,v=v+(S&x^D&(S^x))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0,T=(g|=0)+T+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(H^U&(M^H))+3624381080|0,D=D+T|0,T=T+(v&S^x&(v^S))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0,H=(w|=0)+H+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(M^D&(U^M))+310598401|0,x=x+H|0,H=H+(T&v^S&(T^v))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0,M=(y|=0)+M+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(U^x&(D^U))+607225278|0,S=S+M|0,M=M+(H&T^v&(H^T))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0,U=(E|=0)+U+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(D^S&(x^D))+1426881987|0,v=v+U|0,U=U+(M&H^T&(M^H))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0,D=(d|=0)+D+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(x^v&(S^x))+1925078388|0,T=T+D|0,D=D+(U&M^H&(U^M))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0,x=(m|=0)+x+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(S^T&(v^S))+2162078206|0,H=H+x|0,x=x+(D&U^M&(D^U))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0,S=(C|=0)+S+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(v^H&(T^v))+2614888103|0,M=M+S|0,S=S+(x&D^U&(x^D))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0,v=(b|=0)+v+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(T^M&(H^T))+3248222580|0,U=U+v|0,v=v+(S&x^D&(S^x))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0,T=(t=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(C>>>17^C>>>19^C>>>10^C<<15^C<<13)+t+w|0)+T+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(H^U&(M^H))+3835390401|0,D=D+T|0,T=T+(v&S^x&(v^S))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0,H=(e=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+e+y|0)+H+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(M^D&(U^M))+4022224774|0,x=x+H|0,H=H+(T&v^S&(T^v))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0,M=(f=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+f+E|0)+M+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(U^x&(D^U))+264347078|0,S=S+M|0,M=M+(H&T^v&(H^T))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0,U=(l=(u>>>7^u>>>18^u>>>3^u<<25^u<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+l+d|0)+U+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(D^S&(x^D))+604807628|0,v=v+U|0,U=U+(M&H^T&(M^H))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0,D=(u=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+u+m|0)+D+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(x^v&(S^x))+770255983|0,T=T+D|0,D=D+(U&M^H&(U^M))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0,x=(p=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+p+C|0)+x+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(S^T&(v^S))+1249150122|0,H=H+x|0,x=x+(D&U^M&(D^U))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0,S=(_=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(u>>>17^u>>>19^u>>>10^u<<15^u<<13)+_+b|0)+S+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(v^H&(T^v))+1555081692|0,M=M+S|0,S=S+(x&D^U&(x^D))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0,v=(A=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+A+t|0)+v+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(T^M&(H^T))+1996064986|0,U=U+v|0,v=v+(S&x^D&(S^x))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0,T=(g=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+g+e|0)+T+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(H^U&(M^H))+2554220882|0,D=D+T|0,T=T+(v&S^x&(v^S))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0,H=(w=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+w+f|0)+H+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(M^D&(U^M))+2821834349|0,x=x+H|0,H=H+(T&v^S&(T^v))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0,M=(y=(E>>>7^E>>>18^E>>>3^E<<25^E<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+y+l|0)+M+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(U^x&(D^U))+2952996808|0,S=S+M|0,M=M+(H&T^v&(H^T))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0,U=(E=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+E+u|0)+U+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(D^S&(x^D))+3210313671|0,v=v+U|0,U=U+(M&H^T&(M^H))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0,D=(d=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+d+p|0)+D+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(x^v&(S^x))+3336571891|0,T=T+D|0,D=D+(U&M^H&(U^M))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0,x=(m=(C>>>7^C>>>18^C>>>3^C<<25^C<<14)+(E>>>17^E>>>19^E>>>10^E<<15^E<<13)+m+_|0)+x+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(S^T&(v^S))+3584528711|0,H=H+x|0,x=x+(D&U^M&(D^U))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0,S=(C=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+C+A|0)+S+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(v^H&(T^v))+113926993|0,M=M+S|0,S=S+(x&D^U&(x^D))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0,v=(b=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+b+g|0)+v+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(T^M&(H^T))+338241895|0,U=U+v|0,v=v+(S&x^D&(S^x))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0,T=(t=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(C>>>17^C>>>19^C>>>10^C<<15^C<<13)+t+w|0)+T+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(H^U&(M^H))+666307205|0,D=D+T|0,T=T+(v&S^x&(v^S))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0,H=(e=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+e+y|0)+H+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(M^D&(U^M))+773529912|0,x=x+H|0,H=H+(T&v^S&(T^v))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0,M=(f=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+f+E|0)+M+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(U^x&(D^U))+1294757372|0,S=S+M|0,M=M+(H&T^v&(H^T))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0,U=(l=(u>>>7^u>>>18^u>>>3^u<<25^u<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+l+d|0)+U+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(D^S&(x^D))+1396182291|0,v=v+U|0,U=U+(M&H^T&(M^H))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0,D=(u=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+u+m|0)+D+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(x^v&(S^x))+1695183700|0,T=T+D|0,D=D+(U&M^H&(U^M))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0,x=(p=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+p+C|0)+x+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(S^T&(v^S))+1986661051|0,H=H+x|0,x=x+(D&U^M&(D^U))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0,S=(_=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(u>>>17^u>>>19^u>>>10^u<<15^u<<13)+_+b|0)+S+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(v^H&(T^v))+2177026350|0,M=M+S|0,S=S+(x&D^U&(x^D))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0,v=(A=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+A+t|0)+v+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(T^M&(H^T))+2456956037|0,U=U+v|0,v=v+(S&x^D&(S^x))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0,T=(g=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+g+e|0)+T+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(H^U&(M^H))+2730485921|0,D=D+T|0,T=T+(v&S^x&(v^S))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0,H=(w=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+w+f|0)+H+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(M^D&(U^M))+2820302411|0,x=x+H|0,H=H+(T&v^S&(T^v))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0,M=(y=(E>>>7^E>>>18^E>>>3^E<<25^E<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+y+l|0)+M+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(U^x&(D^U))+3259730800|0,S=S+M|0,M=M+(H&T^v&(H^T))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0,U=(E=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+E+u|0)+U+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(D^S&(x^D))+3345764771|0,v=v+U|0,U=U+(M&H^T&(M^H))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0,D=(d=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+d+p|0)+D+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(x^v&(S^x))+3516065817|0,T=T+D|0,D=D+(U&M^H&(U^M))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0,x=(m=(C>>>7^C>>>18^C>>>3^C<<25^C<<14)+(E>>>17^E>>>19^E>>>10^E<<15^E<<13)+m+_|0)+x+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(S^T&(v^S))+3600352804|0,H=H+x|0,x=x+(D&U^M&(D^U))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0,S=(C=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+C+A|0)+S+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(v^H&(T^v))+4094571909|0,M=M+S|0,S=S+(x&D^U&(x^D))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0,v=(b=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+b+g|0)+v+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(T^M&(H^T))+275423344|0,U=U+v|0,v=v+(S&x^D&(S^x))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0,T=(t=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(C>>>17^C>>>19^C>>>10^C<<15^C<<13)+t+w|0)+T+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(H^U&(M^H))+430227734|0,D=D+T|0,T=T+(v&S^x&(v^S))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0,H=(e=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+e+y|0)+H+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(M^D&(U^M))+506948616|0,x=x+H|0,H=H+(T&v^S&(T^v))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0,M=(f=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+f+E|0)+M+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(U^x&(D^U))+659060556|0,S=S+M|0,M=M+(H&T^v&(H^T))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0,U=(l=(u>>>7^u>>>18^u>>>3^u<<25^u<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+l+d|0)+U+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(D^S&(x^D))+883997877|0,v=v+U|0,U=U+(M&H^T&(M^H))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0,D=(u=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+u+m|0)+D+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(x^v&(S^x))+958139571|0,T=T+D|0,D=D+(U&M^H&(U^M))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0,x=(p=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+p+C|0)+x+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(S^T&(v^S))+1322822218|0,H=H+x|0,x=x+(D&U^M&(D^U))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0,S=(_=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(u>>>17^u>>>19^u>>>10^u<<15^u<<13)+_+b|0)+S+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(v^H&(T^v))+1537002063|0,M=M+S|0,S=S+(x&D^U&(x^D))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0,v=(A=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+A+t|0)+v+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(T^M&(H^T))+1747873779|0,U=U+v|0,v=v+(S&x^D&(S^x))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0,T=(g=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+g+e|0)+T+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(H^U&(M^H))+1955562222|0,D=D+T|0,T=T+(v&S^x&(v^S))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0,H=(w=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+w+f|0)+H+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(M^D&(U^M))+2024104815|0,x=x+H|0,H=H+(T&v^S&(T^v))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0,M=(y=(E>>>7^E>>>18^E>>>3^E<<25^E<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+y+l|0)+M+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(U^x&(D^U))+2227730452|0,S=S+M|0,M=M+(H&T^v&(H^T))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0,U=(E=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+E+u|0)+U+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(D^S&(x^D))+2361852424|0,v=v+U|0,U=U+(M&H^T&(M^H))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0,D=(d=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+d+p|0)+D+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(x^v&(S^x))+2428436474|0,T=T+D|0,D=D+(U&M^H&(U^M))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0,x=(m=(C>>>7^C>>>18^C>>>3^C<<25^C<<14)+(E>>>17^E>>>19^E>>>10^E<<15^E<<13)+m+_|0)+x+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(S^T&(v^S))+2756734187|0,H=H+x|0,x=x+(D&U^M&(D^U))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0,S=(C=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+C+A|0)+S+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(v^H&(T^v))+3204031479|0,M=M+S|0,S=S+(x&D^U&(x^D))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0,v=(b=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+b+g|0)+v+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(T^M&(H^T))+3329325298|0,U=U+v|0,v=v+(S&x^D&(S^x))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0,s=s+v|0,n=n+S|0,r=r+x|0,i=i+D|0,h=h+U|0,a=a+M|0,o=o+H|0,c=c+T|0}function H(t){M(U[0|(t|=0)]<<24|U[1|t]<<16|U[2|t]<<8|U[3|t],U[4|t]<<24|U[5|t]<<16|U[6|t]<<8|U[7|t],U[8|t]<<24|U[9|t]<<16|U[10|t]<<8|U[11|t],U[12|t]<<24|U[13|t]<<16|U[14|t]<<8|U[15|t],U[16|t]<<24|U[17|t]<<16|U[18|t]<<8|U[19|t],U[20|t]<<24|U[21|t]<<16|U[22|t]<<8|U[23|t],U[24|t]<<24|U[25|t]<<16|U[26|t]<<8|U[27|t],U[28|t]<<24|U[29|t]<<16|U[30|t]<<8|U[31|t],U[32|t]<<24|U[33|t]<<16|U[34|t]<<8|U[35|t],U[36|t]<<24|U[37|t]<<16|U[38|t]<<8|U[39|t],U[40|t]<<24|U[41|t]<<16|U[42|t]<<8|U[43|t],U[44|t]<<24|U[45|t]<<16|U[46|t]<<8|U[47|t],U[48|t]<<24|U[49|t]<<16|U[50|t]<<8|U[51|t],U[52|t]<<24|U[53|t]<<16|U[54|t]<<8|U[55|t],U[56|t]<<24|U[57|t]<<16|U[58|t]<<8|U[59|t],U[60|t]<<24|U[61|t]<<16|U[62|t]<<8|U[63|t])}function T(t){U[0|(t|=0)]=s>>>24,U[1|t]=s>>>16&255,U[2|t]=s>>>8&255,U[3|t]=255&s,U[4|t]=n>>>24,U[5|t]=n>>>16&255,U[6|t]=n>>>8&255,U[7|t]=255&n,U[8|t]=r>>>24,U[9|t]=r>>>16&255,U[10|t]=r>>>8&255,U[11|t]=255&r,U[12|t]=i>>>24,U[13|t]=i>>>16&255,U[14|t]=i>>>8&255,U[15|t]=255&i,U[16|t]=h>>>24,U[17|t]=h>>>16&255,U[18|t]=h>>>8&255,U[19|t]=255&h,U[20|t]=a>>>24,U[21|t]=a>>>16&255,U[22|t]=a>>>8&255,U[23|t]=255&a,U[24|t]=o>>>24,U[25|t]=o>>>16&255,U[26|t]=o>>>8&255,U[27|t]=255&o,U[28|t]=c>>>24,U[29|t]=c>>>16&255,U[30|t]=c>>>8&255,U[31|t]=255&c}function z(){s=1779033703,n=3144134277,r=1013904242,i=2773480762,h=1359893119,a=2600822924,o=528734635,c=1541459225,f=l=0}function P(t,e){e|=0;let s=0;if(63&(t|=0))return-1;for(;(0|e)>=64;)H(t),t=t+64|0,e=e-64|0,s=s+64|0;return f=f+s|0,f>>>0<s>>>0&&(l=l+1|0),0|s}function B(t,e,s){let n=0,r=0;if(63&(t|=0))return-1;if(~(s|=0)&&31&s)return-1;if((0|(e|=0))>=64){if(n=0|P(t,e),-1==(0|n))return-1;t=t+n|0,e=e-n|0}if(n=n+e|0,f=f+e|0,f>>>0<e>>>0&&(l=l+1|0),U[t|e]=128,(0|e)>=56){for(r=e+1|0;(0|r)<64;r=r+1|0)U[t|r]=0;H(t),e=0,U[0|t]=0}for(r=e+1|0;(0|r)<59;r=r+1|0)U[t|r]=0;return U[56|t]=l>>>21&255,U[57|t]=l>>>13&255,U[58|t]=l>>>5&255,U[59|t]=l<<3&255|f>>>29,U[60|t]=f>>>21&255,U[61|t]=f>>>13&255,U[62|t]=f>>>5&255,U[63|t]=f<<3&255,H(t),~s&&T(s),0|n}function k(){s=u,n=p,r=_,i=A,h=g,a=w,o=y,c=E,f=64,l=0}function I(){s=d,n=m,r=C,i=b,h=v,a=S,o=x,c=D,f=64,l=0}function R(t,e,f){let l=0,u=0,p=0,_=0,A=0,g=0,w=0,y=0,E=0;return 63&(t|=0)||~(f|=0)&&31&f?-1:(E=0|B(t,e|=0,-1),l=s,u=n,p=r,_=i,A=h,g=a,w=o,y=c,I(),M(l,u,p,_,A,g,w,y,2147483648,0,0,0,0,0,0,768),~f&&T(f),0|E)}return{reset:z,init:function(t,e,u,p,_,A,g,w,y,E){s=t|=0,n=e|=0,r=u|=0,i=p|=0,h=_|=0,a=A|=0,o=g|=0,c=w|=0,f=y|=0,l=E|=0},process:P,finish:B,hmac_reset:k,hmac_init:function(t,e,U,H,T,P,B,k,I,R,G,N,L,O,Z,K){t|=0,e|=0,U|=0,H|=0,T|=0,P|=0,B|=0,k|=0,I|=0,R|=0,G|=0,N|=0,L|=0,O|=0,Z|=0,K|=0,z(),M(1549556828^t,1549556828^e,1549556828^U,1549556828^H,1549556828^T,1549556828^P,1549556828^B,1549556828^k,1549556828^I,1549556828^R,1549556828^G,1549556828^N,1549556828^L,1549556828^O,1549556828^Z,1549556828^K),d=s,m=n,C=r,b=i,v=h,S=a,x=o,D=c,z(),M(909522486^t,909522486^e,909522486^U,909522486^H,909522486^T,909522486^P,909522486^B,909522486^k,909522486^I,909522486^R,909522486^G,909522486^N,909522486^L,909522486^O,909522486^Z,909522486^K),u=s,p=n,_=r,A=i,g=h,w=a,y=o,E=c,f=64,l=0},hmac_finish:R,pbkdf2_generate_block:function(t,e,f,l,u){f|=0,l|=0;let p=0,_=0,A=0,g=0,w=0,y=0,E=0,d=0,m=0,C=0,b=0,v=0,S=0,x=0,D=0,H=0;if(63&(t|=0))return-1;if(~(u|=0)&&31&u)return-1;for(U[t+(e|=0)|0]=f>>>24,U[t+e+1|0]=f>>>16&255,U[t+e+2|0]=f>>>8&255,U[t+e+3|0]=255&f,R(t,e+4|0,-1),p=m=s,_=C=n,A=b=r,g=v=i,w=S=h,y=x=a,E=D=o,d=H=c,l=l-1|0;(0|l)>0;)k(),M(m,C,b,v,S,x,D,H,2147483648,0,0,0,0,0,0,768),m=s,C=n,b=r,v=i,S=h,x=a,D=o,H=c,I(),M(m,C,b,v,S,x,D,H,2147483648,0,0,0,0,0,0,768),m=s,C=n,b=r,v=i,S=h,x=a,D=o,H=c,p^=s,_^=n,A^=r,g^=i,w^=h,y^=a,E^=o,d^=c,l=l-1|0;return s=p,n=_,r=A,i=g,h=w,a=y,o=E,c=d,~u&&T(u),0}}}(0,this.heap.buffer),this.reset()}}M.NAME="sha256";class H{constructor(t,e,s){if(!t.HASH_SIZE)throw new SyntaxError("option 'hash' supplied doesn't seem to be a valid hash function");this.hash=t,this.BLOCK_SIZE=this.hash.BLOCK_SIZE,this.HMAC_SIZE=this.hash.HASH_SIZE,this.result=null,this.key=function(t,e){const s=new Uint8Array(t.BLOCK_SIZE);e.length>t.BLOCK_SIZE?s.set(t.reset().process(e).finish().result):s.set(e);return s}(this.hash,e);const n=new Uint8Array(this.key);for(let t=0;t<n.length;++t)n[t]^=54;this.hash.reset().process(n),void 0!==s?this._hmac_init_verify(s):this.verify=null}process(e){if(null!==this.result)throw new t("state must be reset before processing new data");return this.hash.process(e),this}finish(){if(null!==this.result)throw new t("state must be reset before processing new data");const e=this.hash.finish().result,s=new Uint8Array(this.key);for(let t=0;t<s.length;++t)s[t]^=92;const n=this.verify,r=this.hash.reset().process(s).process(e).finish().result;if(n){if(n.length!==r.length)throw new Error("HMAC verification failed, lengths doesn't match");{let t=0;for(let e=0;e<n.length;e++)t|=n[e]^r[e];if(0!==t)throw new Error("HMAC verification failed, hash value doesn't match")}}return this.result=r,this}_hmac_init_verify(t){if(t.length!==this.HMAC_SIZE)throw new e("illegal verification tag size");this.verify=t}}class T extends H{static sha(t,e,s){return new T(e,s).process(t).finish().result}constructor(t,e){return super(new x,t,e),this.reset(),void 0!==e?this._hmac_init_verify(e):this.verify=null,this}reset(){this.result=null;const t=this.key;return this.hash.reset().asm.hmac_init(t[0]<<24|t[1]<<16|t[2]<<8|t[3],t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[8]<<24|t[9]<<16|t[10]<<8|t[11],t[12]<<24|t[13]<<16|t[14]<<8|t[15],t[16]<<24|t[17]<<16|t[18]<<8|t[19],t[20]<<24|t[21]<<16|t[22]<<8|t[23],t[24]<<24|t[25]<<16|t[26]<<8|t[27],t[28]<<24|t[29]<<16|t[30]<<8|t[31],t[32]<<24|t[33]<<16|t[34]<<8|t[35],t[36]<<24|t[37]<<16|t[38]<<8|t[39],t[40]<<24|t[41]<<16|t[42]<<8|t[43],t[44]<<24|t[45]<<16|t[46]<<8|t[47],t[48]<<24|t[49]<<16|t[50]<<8|t[51],t[52]<<24|t[53]<<16|t[54]<<8|t[55],t[56]<<24|t[57]<<16|t[58]<<8|t[59],t[60]<<24|t[61]<<16|t[62]<<8|t[63]),this}finish(){if(null!==this.result)throw new t("state must be reset before processing new data");const e=this.hash,s=this.hash.asm,n=this.hash.heap;s.hmac_finish(e.pos,e.len,0);const r=this.verify,i=new Uint8Array(20);if(i.set(n.subarray(0,20)),r){if(r.length!==i.length)throw new Error("HMAC verification failed, lengths doesn't match");{let t=0;for(let e=0;e<r.length;e++)t|=r[e]^i[e];if(0!==t)throw new Error("HMAC verification failed, hash value doesn't match")}}else this.result=i;return this}}class z extends H{static sha(t,e,s){return new z(e,s).process(t).finish().result}constructor(t,e){return super(new M,t,e),this.reset(),void 0!==e?this._hmac_init_verify(e):this.verify=null,this}reset(){const t=this.key;return this.hash.reset().asm.hmac_init(t[0]<<24|t[1]<<16|t[2]<<8|t[3],t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[8]<<24|t[9]<<16|t[10]<<8|t[11],t[12]<<24|t[13]<<16|t[14]<<8|t[15],t[16]<<24|t[17]<<16|t[18]<<8|t[19],t[20]<<24|t[21]<<16|t[22]<<8|t[23],t[24]<<24|t[25]<<16|t[26]<<8|t[27],t[28]<<24|t[29]<<16|t[30]<<8|t[31],t[32]<<24|t[33]<<16|t[34]<<8|t[35],t[36]<<24|t[37]<<16|t[38]<<8|t[39],t[40]<<24|t[41]<<16|t[42]<<8|t[43],t[44]<<24|t[45]<<16|t[46]<<8|t[47],t[48]<<24|t[49]<<16|t[50]<<8|t[51],t[52]<<24|t[53]<<16|t[54]<<8|t[55],t[56]<<24|t[57]<<16|t[58]<<8|t[59],t[60]<<24|t[61]<<16|t[62]<<8|t[63]),this}finish(){if(null===this.key)throw new t("no key is associated with the instance");if(null!==this.result)throw new t("state must be reset before processing new data");const e=this.hash,s=this.hash.asm,n=this.hash.heap;s.hmac_finish(e.pos,e.len,0);const r=this.verify,i=new Uint8Array(32);if(i.set(n.subarray(0,32)),r){if(r.length!==i.length)throw new Error("HMAC verification failed, lengths doesn't match");{let t=0;for(let e=0;e<r.length;e++)t|=r[e]^i[e];if(0!==t)throw new Error("HMAC verification failed, hash value doesn't match")}}else this.result=i;return this}}const P=BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),B=BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),k=BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),I=BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),R=BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),G=BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"),N=BigInt(0),L=BigInt(1),O=BigInt(2),Z=BigInt(3),K={x:L,y:L,z:N},V=(t,e=P)=>{const s=t%e;return s>=N?s:s+e},F=t=>{if(t.z===N)return K;const e=V(t.y*t.y),s=V(BigInt(4)*t.x*e),n=V(Z*t.x*t.x+B*t.z*t.z*t.z*t.z),r=V(n*n-O*s);return{x:r,y:V(n*(s-r)-BigInt(8)*e*e),z:V(O*t.y*t.z)}},X=(t,e)=>{if(t.z===N)return e;if(e.z===N)return t;const s=V(t.x*e.z*e.z),n=V(e.x*t.z*t.z),r=V(t.y*e.z*e.z*e.z),i=V(e.y*t.z*t.z*t.z);if(s===n)return r!==i?K:F(t);const h=V(n-s),a=V(i-r),o=V(h*h),c=V(h*o),f=V(s*o),l=V(a*a-c-O*f);return{x:l,y:V(a*(f-l)-r*c),z:V(h*t.z*e.z)}},Y=t=>{if(t.z===N)throw new Error("point at infinity");const e=((t,e=P)=>{if(t===N)throw new Error("inverse of zero");let s=L,n=N,r=V(t,e),i=e;for(;r>L;){const t=i/r,e=n-s*t,h=i-r*t;n=s,i=r,s=e,r=h}return V(s,e)})(t.z),s=V(e*e),n=V(s*e);return{x:V(t.x*s),y:V(t.y*n)}},j=(t,e)=>{let s=V(t,I);if(s===N)throw new Error("scalar is zero");let n=K,r={x:(i=e).x,y:i.y,z:L};for(var i;s>N;)s&L&&(n=X(n,r)),r=F(r),s>>=L;return Y(n)},q=(t,e=32)=>{const s=new Uint8Array(e);let n=t;for(let t=e-1;t>=0;t--)s[t]=Number(n&BigInt(255)),n>>=BigInt(8);if(n!==N)throw new Error("bigint exceeds fixed byte size");return s},J=t=>{let e=N;for(let s=0;s<t.length;s++)e=e<<BigInt(8)|BigInt(t[s]);return e},Q=t=>V(t.y*t.y)===V(t.x*t.x*t.x+B*t.x+k),W=t=>t>N&&t<I,$=t=>{if(32!==t.length)throw new Error("private key must be 32 bytes");const e=J(t);if(!W(e))throw new Error("invalid private key");const s=j(e,{x:R,y:G}),n=new Uint8Array(65);return n[0]=4,n.set(q(s.x,32),1),n.set(q(s.y,32),33),n},tt=t=>{if(65!==t.length||4!==t[0])throw new Error("public key must be 65-byte uncompressed (0x04 || X || Y)");const e=J(t.subarray(1,33)),s=J(t.subarray(33,65));if(e>=P||s>=P)throw new Error("public key coordinate out of field range");const n={x:e,y:s};if(!Q(n))throw new Error("public key is not on P-256 curve");return n},et="secp256r1",st=t=>{const e=(t=>{if(32!==t.length)throw new Error("random seed must be 32 bytes");const e=J(t);if(!W(e))throw new Error("invalid scalar for P-256, try another random seed");return q(e,32)})(t);return{privateKey:e,publicKey:$(e)}},nt=(t,e)=>((t,e)=>{if(32!==t.length)throw new Error("private key must be 32 bytes");const s=J(t);if(!W(s))throw new Error("invalid private key");const n=tt(e),r=j(s,n);if(!Q(r))throw new Error("derived shared point is not on curve");return q(r.x,32)})(t,e);export{y as AES,m as AES_CBC,C as AES_CCM,d as AES_ECB,E as AES_GCM,et as ECDH_CURVE_SECP256R1,T as HmacSha1,z as HmacSha256,e as IllegalArgumentError,t as IllegalStateError,s as SecurityError,x as Sha1,M as Sha256,v as _sha1_block_size,S as _sha1_hash_size,D as _sha256_block_size,U as _sha256_hash_size,nt as deriveEcdhSharedSecret,st as generateEcdhKeyPair,tt as parseUncompressedPublicKey,$ as publicKeyFromPrivate};
package/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});class t extends Error{constructor(...t){super(...t)}}class e extends Error{constructor(...t){super(...t)}}class s extends Error{constructor(...t){super(...t)}}function n(t){return t instanceof Uint8Array}function i(t,e){const s=t?t.byteLength:e||65536;if(4095&s||s<=0)throw new Error("heap size must be a positive integer and a multiple of 4096");return t=t||new Uint8Array(new ArrayBuffer(s))}function r(t,e,s,n,i){const r=t.length-e,h=r<i?r:i;return t.set(s.subarray(n,n+h),e),h}function h(...t){const e=t.reduce(((t,e)=>t+e.length),0),s=new Uint8Array(e);let n=0;for(let e=0;e<t.length;e++)s.set(t[e],n),n+=t[e].length;return s}let a,o,c=!1;function l(t,e){let s=a[(o[t]+o[e])%255];return 0!==t&&0!==e||(s=0),s}let f,u,p,_,A=!1;function g(){function t(t){let e,s,n;for(s=n=function(t){let e=a[255-o[t]];return 0===t&&(e=0),e}(t),e=0;e<4;e++)s=255&(s<<1|s>>>7),n^=s;return n^=99,n}c||function(){a=[],o=[];let t,e,s=1;for(t=0;t<255;t++)a[t]=s,e=128&s,s<<=1,s&=255,128===e&&(s^=27),s^=a[t],o[a[t]]=t;a[255]=a[0],o[0]=0,c=!0}(),f=[],u=[],p=[[],[],[],[]],_=[[],[],[],[]];for(let e=0;e<256;e++){const s=t(e);f[e]=s,u[s]=e,p[0][e]=l(2,s)<<24|s<<16|s<<8|l(3,s),_[0][s]=l(14,e)<<24|l(9,e)<<16|l(13,e)<<8|l(11,e);for(let t=1;t<4;t++)p[t][e]=p[t-1][e]>>>8|p[t-1][e]<<24,_[t][s]=_[t-1][s]>>>8|_[t-1][s]<<24}A=!0}class w{constructor(t,e){return function(t,e){A||g();const s=new Uint32Array(e);s.set(f,512),s.set(u,768);for(let t=0;t<4;t++)s.set(p[t],4096+1024*t>>2),s.set(_[t],8192+1024*t>>2);function n(t,e,n,r,h,a,o,c,l){const u=s.subarray(0,60),p=s.subarray(256,316);u.set([e,n,r,h,a,o,c,l]);let A=t;for(let e=1;A<4*t+28;A++){let s=u[A-1];(A%t==0||8===t&&A%t==4)&&(s=f[s>>>24]<<24^f[s>>>16&255]<<16^f[s>>>8&255]<<8^f[255&s]),A%t==0&&(s=s<<8^s>>>24^e<<24,e=e<<1^(128&e?27:0)),u[A]=u[A-t]^s}for(let t=0;t<A;t+=4)for(let e=0;e<4;e++){const s=u[A-(4+t)+(4-e)%4];p[t+e]=t<4||t>=A-4?s:_[0][f[s>>>24]]^_[1][f[s>>>16&255]]^_[2][f[s>>>8&255]]^_[3][f[255&s]]}i.set_rounds(t+5)}const i=function(t,e){"use asm";let s=0,i=0,r=0,h=0,a=0,o=0,c=0,l=0,f=0,u=0,p=0,_=0,A=0,g=0,w=0,y=0,E=0,C=0,m=0,d=0,S=0;const b=new Uint32Array(e),v=new Uint8Array(e);function M(t,e,n,a,o,c,l,f){t=t|0;e=e|0;n=n|0;a=a|0;o=o|0;c=c|0;l=l|0;f=f|0;let u=0,p=0,_=0,A=0,g=0,w=0,y=0,E=0;u=n|0x400,p=n|0x800,_=n|0xc00;o=o^b[(t|0)>>2],c=c^b[(t|4)>>2],l=l^b[(t|8)>>2],f=f^b[(t|12)>>2];for(E=16;(E|0)<=a<<4;E=E+16|0){A=b[(n|o>>22&1020)>>2]^b[(u|c>>14&1020)>>2]^b[(p|l>>6&1020)>>2]^b[(_|f<<2&1020)>>2]^b[(t|E|0)>>2],g=b[(n|c>>22&1020)>>2]^b[(u|l>>14&1020)>>2]^b[(p|f>>6&1020)>>2]^b[(_|o<<2&1020)>>2]^b[(t|E|4)>>2],w=b[(n|l>>22&1020)>>2]^b[(u|f>>14&1020)>>2]^b[(p|o>>6&1020)>>2]^b[(_|c<<2&1020)>>2]^b[(t|E|8)>>2],y=b[(n|f>>22&1020)>>2]^b[(u|o>>14&1020)>>2]^b[(p|c>>6&1020)>>2]^b[(_|l<<2&1020)>>2]^b[(t|E|12)>>2];o=A,c=g,l=w,f=y}s=b[(e|o>>22&1020)>>2]<<24^b[(e|c>>14&1020)>>2]<<16^b[(e|l>>6&1020)>>2]<<8^b[(e|f<<2&1020)>>2]^b[(t|E|0)>>2],i=b[(e|c>>22&1020)>>2]<<24^b[(e|l>>14&1020)>>2]<<16^b[(e|f>>6&1020)>>2]<<8^b[(e|o<<2&1020)>>2]^b[(t|E|4)>>2],r=b[(e|l>>22&1020)>>2]<<24^b[(e|f>>14&1020)>>2]<<16^b[(e|o>>6&1020)>>2]<<8^b[(e|c<<2&1020)>>2]^b[(t|E|8)>>2],h=b[(e|f>>22&1020)>>2]<<24^b[(e|o>>14&1020)>>2]<<16^b[(e|c>>6&1020)>>2]<<8^b[(e|l<<2&1020)>>2]^b[(t|E|12)>>2]}function D(t,e,s,n){t=t|0;e=e|0;s=s|0;n=n|0;M(0x0000,0x0800,0x1000,S,t,e,s,n)}function U(t,e,s,n){t=t|0;e=e|0;s=s|0;n=n|0;let r=0;M(0x0400,0x0c00,0x2000,S,t,n,s,e);r=i,i=h,h=r}function H(t,e,n,f){t=t|0;e=e|0;n=n|0;f=f|0;M(0x0000,0x0800,0x1000,S,a^t,o^e,c^n,l^f);a=s,o=i,c=r,l=h}function x(t,e,n,f){t=t|0;e=e|0;n=n|0;f=f|0;let u=0;M(0x0400,0x0c00,0x2000,S,t,f,n,e);u=i,i=h,h=u;s=s^a,i=i^o,r=r^c,h=h^l;a=t,o=e,c=n,l=f}function T(t,e,n,f){t=t|0;e=e|0;n=n|0;f=f|0;M(0x0000,0x0800,0x1000,S,a,o,c,l);a=s=s^t,o=i=i^e,c=r=r^n,l=h=h^f}function P(t,e,n,f){t=t|0;e=e|0;n=n|0;f=f|0;M(0x0000,0x0800,0x1000,S,a,o,c,l);s=s^t,i=i^e,r=r^n,h=h^f;a=t,o=e,c=n,l=f}function z(t,e,n,f){t=t|0;e=e|0;n=n|0;f=f|0;M(0x0000,0x0800,0x1000,S,a,o,c,l);a=s,o=i,c=r,l=h;s=s^t,i=i^e,r=r^n,h=h^f}function B(t,e,n,a){t=t|0;e=e|0;n=n|0;a=a|0;M(0x0000,0x0800,0x1000,S,f,u,p,_);_=~y&_|y&_+1;p=~w&p|w&p+Number((_|0)===0);u=~g&u|g&u+Number((p|0)===0);f=~A&f|A&f+Number((u|0)===0);s=s^t;i=i^e;r=r^n;h=h^a}function k(t,e,s,n){t=t|0;e=e|0;s=s|0;n=n|0;let i=0,r=0,h=0,f=0,u=0,p=0,_=0,A=0,g=0,w=0;t=t^a,e=e^o,s=s^c,n=n^l;i=E|0,r=C|0,h=m|0,f=d|0;for(;(g|0)<128;g=g+1|0){if(i>>>31){u=u^t,p=p^e,_=_^s,A=A^n}i=i<<1|r>>>31,r=r<<1|h>>>31,h=h<<1|f>>>31,f=f<<1;w=n&1;n=n>>>1|s<<31,s=s>>>1|e<<31,e=e>>>1|t<<31,t=t>>>1;if(w)t=t^0xe1000000}a=u,o=p,c=_,l=A}function G(t){t=t|0;S=t}function R(t,e,n,a){t=t|0;e=e|0;n=n|0;a=a|0;s=t,i=e,r=n,h=a}function N(t,e,s,n){t=t|0;e=e|0;s=s|0;n=n|0;a=t,o=e,c=s,l=n}function I(t,e,s,n){t=t|0;e=e|0;s=s|0;n=n|0;f=t,u=e,p=s,_=n}function L(t,e,s,n){t=t|0;e=e|0;s=s|0;n=n|0;A=t,g=e,w=s,y=n}function O(t,e,s,n){t=t|0;e=e|0;s=s|0;n=n|0;_=~y&_|y&n,p=~w&p|w&s,u=~g&u|g&e,f=~A&f|A&t}function Z(t){t=t|0;if(t&15)return-1;v[t|0]=s>>>24,v[t|1]=s>>>16&255,v[t|2]=s>>>8&255,v[t|3]=s&255,v[t|4]=i>>>24,v[t|5]=i>>>16&255,v[t|6]=i>>>8&255,v[t|7]=i&255,v[t|8]=r>>>24,v[t|9]=r>>>16&255,v[t|10]=r>>>8&255,v[t|11]=r&255,v[t|12]=h>>>24,v[t|13]=h>>>16&255,v[t|14]=h>>>8&255,v[t|15]=h&255;return 16}function K(t){t=t|0;if(t&15)return-1;v[t|0]=a>>>24,v[t|1]=a>>>16&255,v[t|2]=a>>>8&255,v[t|3]=a&255,v[t|4]=o>>>24,v[t|5]=o>>>16&255,v[t|6]=o>>>8&255,v[t|7]=o&255,v[t|8]=c>>>24,v[t|9]=c>>>16&255,v[t|10]=c>>>8&255,v[t|11]=c&255,v[t|12]=l>>>24,v[t|13]=l>>>16&255,v[t|14]=l>>>8&255,v[t|15]=l&255;return 16}function V(){D(0,0,0,0);E=s,C=i,m=r,d=h}function F(t,e,n){t=t|0;e=e|0;n=n|0;let a=0;if(e&15)return-1;while((n|0)>=16){q[t&7](v[e|0]<<24|v[e|1]<<16|v[e|2]<<8|v[e|3],v[e|4]<<24|v[e|5]<<16|v[e|6]<<8|v[e|7],v[e|8]<<24|v[e|9]<<16|v[e|10]<<8|v[e|11],v[e|12]<<24|v[e|13]<<16|v[e|14]<<8|v[e|15]);v[e|0]=s>>>24,v[e|1]=s>>>16&255,v[e|2]=s>>>8&255,v[e|3]=s&255,v[e|4]=i>>>24,v[e|5]=i>>>16&255,v[e|6]=i>>>8&255,v[e|7]=i&255,v[e|8]=r>>>24,v[e|9]=r>>>16&255,v[e|10]=r>>>8&255,v[e|11]=r&255,v[e|12]=h>>>24,v[e|13]=h>>>16&255,v[e|14]=h>>>8&255,v[e|15]=h&255;a=a+16|0,e=e+16|0,n=n-16|0}return a|0}function j(t,e,s){t=t|0;e=e|0;s=s|0;let n=0;if(e&15)return-1;while((s|0)>=16){J[t&1](v[e|0]<<24|v[e|1]<<16|v[e|2]<<8|v[e|3],v[e|4]<<24|v[e|5]<<16|v[e|6]<<8|v[e|7],v[e|8]<<24|v[e|9]<<16|v[e|10]<<8|v[e|11],v[e|12]<<24|v[e|13]<<16|v[e|14]<<8|v[e|15]);n=n+16|0,e=e+16|0,s=s-16|0}return n|0}const q=[D,U,H,x,T,P,z,B];const J=[H,k];return{set_rounds:G,set_state:R,set_iv:N,set_nonce:I,set_mask:L,set_counter:O,get_state:Z,get_iv:K,gcm_init:V,cipher:F,mac:j,set_key:n}}(t,e);return i}(t,e)}set_key(t,e,s,n,i,r,h,a,o){}set_iv(t,e,s,n){}set_mask(t,e,s,n){}set_nonce(t,e,s,n){}set_counter(t,e,s,n){}cipher(t,e,s){return 0}gcm_init(){}get_iv(t){return 16}mac(t,e,s){return 0}get_state(t){return 16}}w.ENC={ECB:0,CBC:2,CFB:4,OFB:6,CTR:7},w.DEC={ECB:1,CBC:3,CFB:5,OFB:6,CTR:7},w.MAC={CBC:0,GCM:1},w.HEAP_DATA=16384;class y{constructor(t,s,n=!0,r,h,a){this.pos=0,this.len=0,this.mode=r,this.heap=h||i().subarray(w.HEAP_DATA),this.asm=a||new w(null,this.heap.buffer),this.pos=0,this.len=0;const o=t.length;if(16!==o&&24!==o&&32!==o)throw new e("illegal key size");const c=new DataView(t.buffer,t.byteOffset,t.byteLength);if(this.asm.set_key(o>>2,c.getUint32(0),c.getUint32(4),c.getUint32(8),c.getUint32(12),o>16?c.getUint32(16):0,o>16?c.getUint32(20):0,o>24?c.getUint32(24):0,o>24?c.getUint32(28):0),void 0!==s){if(16!==s.length)throw new e("illegal iv size");const t=new DataView(s.buffer,s.byteOffset,s.byteLength);this.asm.set_iv(t.getUint32(0),t.getUint32(4),t.getUint32(8),t.getUint32(12))}else this.asm.set_iv(0,0,0,0);this.padding=n}AES_Encrypt_process(t){if(!n(t))throw new TypeError("data isn't of expected type");const e=this.asm,s=this.heap,i=w.ENC[this.mode],h=w.HEAP_DATA;let a=this.pos,o=this.len,c=0,l=t.length||0,f=0;let u=0;const p=new Uint8Array(o+l&-16);for(;l>0;)u=r(s,a+o,t,c,l),o+=u,c+=u,l-=u,u=e.cipher(i,h+a,o),u&&p.set(s.subarray(a,a+u),f),f+=u,u<o?(a+=u,o-=u):(a=0,o=0);return this.pos=a,this.len=o,p}AES_Encrypt_finish(){const t=this.asm,s=this.heap,n=w.ENC[this.mode],i=w.HEAP_DATA,r=this.pos;let h=this.len;const a=16-h%16;let o=h;if(this.hasOwnProperty("padding")){if(this.padding){for(let t=0;t<a;++t)s[r+h+t]=a;h+=a,o=h}else if(h%16)throw new e("data length must be a multiple of the block size")}else h+=a;const c=new Uint8Array(o);return h&&t.cipher(n,i+r,h),o&&c.set(s.subarray(r,r+o)),this.pos=0,this.len=0,c}AES_Decrypt_process(t){if(!n(t))throw new TypeError("data isn't of expected type");const e=this.asm,s=this.heap,i=w.DEC[this.mode],h=w.HEAP_DATA;let a=this.pos,o=this.len,c=0,l=t.length||0,f=0,u=o+l&-16,p=0,_=0;this.padding&&(p=o+l-u||16,u-=p);const A=new Uint8Array(u);for(;l>0;)_=r(s,a+o,t,c,l),o+=_,c+=_,l-=_,_=e.cipher(i,h+a,o-(l?0:p)),_&&A.set(s.subarray(a,a+_),f),f+=_,_<o?(a+=_,o-=_):(a=0,o=0);return this.pos=a,this.len=o,A}AES_Decrypt_finish(){const t=this.asm,n=this.heap,i=w.DEC[this.mode],r=w.HEAP_DATA,h=this.pos;let a=this.len,o=a;if(a>0){if(a%16){if(this.hasOwnProperty("padding"))throw new e("data length must be a multiple of the block size");a+=16-a%16}if(t.cipher(i,r+h,a),this.hasOwnProperty("padding")&&this.padding){const t=n[h+o-1];if(t<1||t>16||t>o)throw new s("bad padding");let e=0;for(let s=t;s>1;s--)e|=t^n[h+o-s];if(e)throw new s("bad padding");o-=t}}const c=new Uint8Array(o);return o>0&&c.set(n.subarray(h,h+o)),this.pos=0,this.len=0,c}}class E{constructor(t,s,n,i=16,r){if(this.tagSize=i,this.gamma0=0,this.counter=1,this.aes=r||new y(t,void 0,!1,"CTR"),this.aes.asm.gcm_init(),this.tagSize<4||this.tagSize>16)throw new e("illegal tagSize value");const h=s.length||0,a=new Uint8Array(16);12!==h?(this._gcm_mac_process(s),this.aes.heap[0]=0,this.aes.heap[1]=0,this.aes.heap[2]=0,this.aes.heap[3]=0,this.aes.heap[4]=0,this.aes.heap[5]=0,this.aes.heap[6]=0,this.aes.heap[7]=0,this.aes.heap[8]=0,this.aes.heap[9]=0,this.aes.heap[10]=0,this.aes.heap[11]=h>>>29,this.aes.heap[12]=h>>>21&255,this.aes.heap[13]=h>>>13&255,this.aes.heap[14]=h>>>5&255,this.aes.heap[15]=h<<3&255,this.aes.asm.mac(w.MAC.GCM,w.HEAP_DATA,16),this.aes.asm.get_iv(w.HEAP_DATA),this.aes.asm.set_iv(0,0,0,0),a.set(this.aes.heap.subarray(0,16))):(a.set(s),a[15]=1);const o=new DataView(a.buffer);if(this.gamma0=o.getUint32(12),this.aes.asm.set_nonce(o.getUint32(0),o.getUint32(4),o.getUint32(8),0),this.aes.asm.set_mask(0,0,0,4294967295),void 0!==n){if(n.length>68719476704)throw new e("illegal adata length");n.length?(this.adata=n,this._gcm_mac_process(n)):this.adata=void 0}else this.adata=void 0;if(this.counter<1||this.counter>4294967295)throw new RangeError("counter must be a positive 32-bit integer");this.aes.asm.set_counter(0,0,0,this.gamma0+this.counter|0)}static encrypt(t,e,s,n,i){return new E(e,s,n,i).encrypt(t)}static decrypt(t,e,s,n,i){return new E(e,s,n,i).decrypt(t)}encrypt(t){return this.AES_GCM_encrypt(t)}decrypt(t){return this.AES_GCM_decrypt(t)}AES_GCM_Encrypt_process(t){let e=0,s=t.length||0;const n=this.aes.asm,i=this.aes.heap;let h=this.counter,a=this.aes.pos,o=this.aes.len,c=0;const l=o+s&-16;let f=0;if((h-1<<4)+o+s>68719476704)throw new RangeError("counter overflow");const u=new Uint8Array(l);for(;s>0;)f=r(i,a+o,t,e,s),o+=f,e+=f,s-=f,f=n.cipher(w.ENC.CTR,w.HEAP_DATA+a,o),f=n.mac(w.MAC.GCM,w.HEAP_DATA+a,f),f&&u.set(i.subarray(a,a+f),c),h+=f>>>4,c+=f,f<o?(a+=f,o-=f):(a=0,o=0);return this.counter=h,this.aes.pos=a,this.aes.len=o,u}AES_GCM_Encrypt_finish(){const t=this.aes.asm,e=this.aes.heap,s=this.counter,n=this.tagSize,i=this.adata,r=this.aes.pos,h=this.aes.len,a=new Uint8Array(h+n);t.cipher(w.ENC.CTR,w.HEAP_DATA+r,h+15&-16),h&&a.set(e.subarray(r,r+h));let o=h;for(;15&o;o++)e[r+o]=0;t.mac(w.MAC.GCM,w.HEAP_DATA+r,o);const c=void 0!==i?i.length:0,l=(s-1<<4)+h;return e[0]=0,e[1]=0,e[2]=0,e[3]=c>>>29,e[4]=c>>>21,e[5]=c>>>13&255,e[6]=c>>>5&255,e[7]=c<<3&255,e[8]=e[9]=e[10]=0,e[11]=l>>>29,e[12]=l>>>21&255,e[13]=l>>>13&255,e[14]=l>>>5&255,e[15]=l<<3&255,t.mac(w.MAC.GCM,w.HEAP_DATA,16),t.get_iv(w.HEAP_DATA),t.set_counter(0,0,0,this.gamma0),t.cipher(w.ENC.CTR,w.HEAP_DATA,16),a.set(e.subarray(0,n),h),this.counter=1,this.aes.pos=0,this.aes.len=0,a}AES_GCM_Decrypt_process(t){let e=0,s=t.length||0;const n=this.aes.asm,i=this.aes.heap;let h=this.counter;const a=this.tagSize;let o=this.aes.pos,c=this.aes.len,l=0;const f=c+s>a?c+s-a&-16:0,u=c+s-f;let p=0;if((h-1<<4)+c+s>68719476704)throw new RangeError("counter overflow");const _=new Uint8Array(f);for(;s>u;)p=r(i,o+c,t,e,s-u),c+=p,e+=p,s-=p,p=n.mac(w.MAC.GCM,w.HEAP_DATA+o,p),p=n.cipher(w.DEC.CTR,w.HEAP_DATA+o,p),p&&_.set(i.subarray(o,o+p),l),h+=p>>>4,l+=p,o=0,c=0;return s>0&&(c+=r(i,0,t,e,s)),this.counter=h,this.aes.pos=o,this.aes.len=c,_}AES_GCM_Decrypt_finish(){const e=this.aes.asm,n=this.aes.heap,i=this.tagSize,r=this.adata,h=this.counter,a=this.aes.pos,o=this.aes.len,c=o-i;if(o<i)throw new t("authentication tag not found");const l=new Uint8Array(c),f=n.slice(a+c,a+o);let u=c;for(;15&u;u++)n[a+u]=0;e.mac(w.MAC.GCM,w.HEAP_DATA+a,u),e.cipher(w.DEC.CTR,w.HEAP_DATA+a,u),c&&l.set(n.subarray(a,a+c));const p=void 0!==r?r.length:0,_=(h-1<<4)+o-i;n[0]=0,n[1]=0,n[2]=0,n[3]=p>>>29,n[4]=p>>>21,n[5]=p>>>13&255,n[6]=p>>>5&255,n[7]=p<<3&255,n[8]=n[9]=n[10]=0,n[11]=_>>>29,n[12]=_>>>21&255,n[13]=_>>>13&255,n[14]=_>>>5&255,n[15]=_<<3&255,e.mac(w.MAC.GCM,w.HEAP_DATA,16),e.get_iv(w.HEAP_DATA),e.set_counter(0,0,0,this.gamma0),e.cipher(w.ENC.CTR,w.HEAP_DATA,16);let A=0;for(let t=0;t<i;++t)A|=f[t]^n[t];if(A)throw new s("data integrity check failed");return this.counter=1,this.aes.pos=0,this.aes.len=0,l}AES_GCM_decrypt(t){const e=this.AES_GCM_Decrypt_process(t),s=this.AES_GCM_Decrypt_finish(),n=new Uint8Array(e.length+s.length);return e.length&&n.set(e),s.length&&n.set(s,e.length),n}AES_GCM_encrypt(t){const e=this.AES_GCM_Encrypt_process(t),s=this.AES_GCM_Encrypt_finish(),n=new Uint8Array(e.length+s.length);return e.length&&n.set(e),s.length&&n.set(s,e.length),n}_gcm_mac_process(t){const e=this.aes.heap,s=this.aes.asm;let n=0,i=t.length||0,h=0;for(;i>0;){for(h=r(e,0,t,n,i),n+=h,i-=h;15&h;)e[h++]=0;s.mac(w.MAC.GCM,w.HEAP_DATA,h)}}}class C{constructor(t,e=!1,s){this.aes=s||new y(t,void 0,e,"ECB")}static encrypt(t,e,s=!1){return new C(e,s).encrypt(t)}static decrypt(t,e,s=!1){return new C(e,s).decrypt(t)}encrypt(t){return h(this.aes.AES_Encrypt_process(t),this.aes.AES_Encrypt_finish())}decrypt(t){return h(this.aes.AES_Decrypt_process(t),this.aes.AES_Decrypt_finish())}}class m{constructor(t,e,s=!0,n){this.aes=n||new y(t,e,s,"CBC")}static encrypt(t,e,s=!0,n){return new m(e,n,s).encrypt(t)}static decrypt(t,e,s=!0,n){return new m(e,n,s).decrypt(t)}encrypt(t){return h(this.aes.AES_Encrypt_process(t),this.aes.AES_Encrypt_finish())}decrypt(t){return h(this.aes.AES_Decrypt_process(t),this.aes.AES_Decrypt_finish())}}class d{constructor(t,s,n,i=16,r,h){if(this.counter=1,this.dataLength=-1,this.aes=h||new y(t,void 0,void 0,"CCM"),i<4||i>16||1&i)throw new e("illegal tagSize value");if(this.tagSize=i,this.nonce=s,s.length<8||s.length>13)throw new e("illegal nonce length");if(this.lengthSize=15-s.length,(s=new Uint8Array(s.length+1))[0]=this.lengthSize-1,s.set(this.nonce,1),r<0||r>0xffffffffffff0||r>Math.pow(2,8*this.lengthSize)-16)throw new e("illegal dataLength value");if(void 0!==n){if(n.length>65279)throw new e("illegal adata length");this.adata=n.length?n:void 0}this.dataLength=r,this.counter=1,this.AES_CCM_calculate_iv(),this.AES_CTR_set_options(s,this.counter,8*this.lengthSize)}static encrypt(t,e,s,n,i=16){return new d(e,s,n,i,t.length).encrypt(t)}static decrypt(t,e,s,n,i=16){return new d(e,s,n,i,t.length-i).decrypt(t)}encrypt(t){this.dataLength=t.length||0;const e=this.AES_CCM_Encrypt_process(t),s=this.AES_CCM_Encrypt_finish(),n=new Uint8Array(e.length+s.length);return e.length&&n.set(e),s.length&&n.set(s,e.length),n}decrypt(t){this.dataLength=t.length||0;const e=this.AES_CCM_Decrypt_process(t),s=this.AES_CCM_Decrypt_finish(),n=new Uint8Array(e.length+s.length);return e.length&&n.set(e),s.length&&n.set(s,e.length),n}AES_CCM_calculate_iv(){const t=this.nonce,e=this.adata,s=this.tagSize,n=this.lengthSize,i=this.dataLength,r=new Uint8Array(16+(e?2+e.length:0));r[0]=(e?64:0)|s-2<<2|n-1,r.set(t,1),n>6&&(r[9]=i/4294967296>>>16&15),n>5&&(r[10]=i/4294967296>>>8&255),n>4&&(r[11]=i/4294967296&255),n>3&&(r[12]=i>>>24),n>2&&(r[13]=i>>>16&255),r[14]=i>>>8&255,r[15]=255&i,e&&(r[16]=e.length>>>8&255,r[17]=255&e.length,r.set(e,18)),this._cbc_mac_process(r),this.aes.asm.get_state(w.HEAP_DATA);const h=new Uint8Array(this.aes.heap.subarray(0,16)),a=new DataView(h.buffer,h.byteOffset,h.byteLength);this.aes.asm.set_iv(a.getUint32(0),a.getUint32(4),a.getUint32(8),a.getUint32(12))}_cbc_mac_process(t){const e=this.aes.heap,s=this.aes.asm;let n=0,i=t.length||0,h=0;for(;i>0;){for(h=r(e,0,t,n,i);15&h;)e[h++]=0;n+=h,i-=h,s.mac(w.MAC.CBC,w.HEAP_DATA,h)}}AES_CCM_Encrypt_process(t){const e=this.aes.asm,s=this.aes.heap;let n=0,i=t.length||0,h=this.counter,a=this.aes.pos,o=this.aes.len;const c=o+i&-16;let l=0,f=0;if((h-1<<4)+o+i>0xffffffffffff0)throw new RangeError("counter overflow");const u=new Uint8Array(c);for(;i>0;)f=r(s,a+o,t,n,i),o+=f,n+=f,i-=f,f=e.mac(w.MAC.CBC,w.HEAP_DATA+a,o),f=e.cipher(w.ENC.CTR,w.HEAP_DATA+a,f),f&&u.set(s.subarray(a,a+f),l),h+=f>>>4,l+=f,f<o?(a+=f,o-=f):(a=0,o=0);return this.counter=h,this.aes.pos=a,this.aes.len=o,u}AES_CCM_Encrypt_finish(){const t=this.aes.asm,e=this.aes.heap,s=this.tagSize,n=this.aes.pos,i=this.aes.len,r=new Uint8Array(i+s);let h=i;for(;15&h;h++)e[n+h]=0;return t.mac(w.MAC.CBC,w.HEAP_DATA+n,h),t.cipher(w.ENC.CTR,w.HEAP_DATA+n,h),i&&r.set(e.subarray(n,n+i)),t.set_counter(0,0,0,0),t.get_iv(w.HEAP_DATA),t.cipher(w.ENC.CTR,w.HEAP_DATA,16),r.set(e.subarray(0,s),i),this.counter=1,this.aes.pos=0,this.aes.len=0,r}AES_CCM_Decrypt_process(t){let e=0,s=t.length||0;const n=this.aes.asm,i=this.aes.heap;let h=this.counter;const a=this.tagSize;let o=this.aes.pos,c=this.aes.len,l=0;const f=c+s>a?c+s-a&-16:0,u=c+s-f;let p=0;if((h-1<<4)+c+s>0xffffffffffff0)throw new RangeError("counter overflow");const _=new Uint8Array(f);for(;s>u;)p=r(i,o+c,t,e,s-u),c+=p,e+=p,s-=p,p=n.cipher(w.DEC.CTR,w.HEAP_DATA+o,p),p=n.mac(w.MAC.CBC,w.HEAP_DATA+o,p),p&&_.set(i.subarray(o,o+p),l),h+=p>>>4,l+=p,o=0,c=0;return s>0&&(c+=r(i,0,t,e,s)),this.counter=h,this.aes.pos=o,this.aes.len=c,_}AES_CCM_Decrypt_finish(){const e=this.aes.asm,n=this.aes.heap,i=this.tagSize,r=this.aes.pos,h=this.aes.len,a=h-i;if(h<i)throw new t("authentication tag not found");const o=new Uint8Array(a),c=new Uint8Array(n.subarray(r+a,r+h));e.cipher(w.DEC.CTR,w.HEAP_DATA+r,a+15&-16),o.set(n.subarray(r,r+a));let l=a;for(;15&l;l++)n[r+l]=0;e.mac(w.MAC.CBC,w.HEAP_DATA+r,l),e.set_counter(0,0,0,0),e.get_iv(w.HEAP_DATA),e.cipher(w.ENC.CTR,w.HEAP_DATA,16);let f=0;for(let t=0;t<i;++t)f|=c[t]^n[t];if(f)throw new s("data integrity check failed");return this.counter=1,this.aes.pos=0,this.aes.len=0,o}AES_CTR_set_options(t,s,n){if(n<8||n>48)throw new e("illegal counter size");const i=Math.pow(2,n)-1;this.aes.asm.set_mask(0,0,i/4294967296|0,0|i);const r=t.length;if(!r||r>16)throw new e("illegal nonce size");this.nonce=t;const h=new DataView(new ArrayBuffer(16));if(new Uint8Array(h.buffer).set(t),this.aes.asm.set_nonce(h.getUint32(0),h.getUint32(4),h.getUint32(8),h.getUint32(12)),s<0||s>=Math.pow(2,n))throw new e("illegal counter value");this.counter=s,this.aes.asm.set_counter(0,0,s/4294967296|0,0|s)}}class S{constructor(){this.pos=0,this.len=0}reset(){return this.result=null,this.pos=0,this.len=0,this.asm.reset(),this}process(e){if(null!==this.result)throw new t("state must be reset before processing new data");const s=this.asm,n=this.heap;let i=this.pos,h=this.len,a=0,o=e.length,c=0;for(;o>0;)c=r(n,i+h,e,a,o),h+=c,a+=c,o-=c,c=s.process(i,h),i+=c,h-=c,h||(i=0);return this.pos=i,this.len=h,this}finish(){if(null!==this.result)throw new t("state must be reset before processing new data");return this.asm.finish(this.pos,this.len,0),this.result=new Uint8Array(this.HASH_SIZE),this.result.set(this.heap.subarray(0,this.HASH_SIZE)),this.pos=0,this.len=0,this}}class b extends S{constructor(){super(),this.NAME="sha1",this.BLOCK_SIZE=64,this.HASH_SIZE=20,this.heap=i(),this.asm=function(t,e){let s=0,n=0,i=0,r=0,h=0,a=0,o=0,c=0,l=0,f=0,u=0,p=0,_=0,A=0,g=0,w=0,y=0;const E=new Uint8Array(e);function C(t,e,a,o,c,l,f,u,p,_,A,g,w,y,E,C){let m=0,d=0,S=0,b=0,v=0,M=0,D=0,U=0,H=0,x=0,T=0,P=0,z=0,B=0,k=0,G=0,R=0,N=0,I=0,L=0,O=0,Z=0,K=0,V=0,F=0,j=0,q=0,J=0,Q=0,W=0,X=0,Y=0,$=0,tt=0,et=0,st=0,nt=0,it=0,rt=0,ht=0,at=0,ot=0,ct=0,lt=0,ft=0,ut=0,pt=0,_t=0,At=0,gt=0,wt=0,yt=0,Et=0,Ct=0,mt=0,dt=0,St=0,bt=0,vt=0,Mt=0,Dt=0,Ut=0,Ht=0,xt=0,Tt=0,Pt=0,zt=0,Bt=0,kt=0,Gt=0,Rt=0;m=s,d=n,S=i,b=r,v=h,D=(t|=0)+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,D=(e|=0)+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,D=(a|=0)+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,D=(o|=0)+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,D=(c|=0)+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,D=(l|=0)+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,D=(f|=0)+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,D=(u|=0)+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,D=(p|=0)+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,D=(_|=0)+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,D=(A|=0)+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,D=(g|=0)+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,D=(w|=0)+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,D=(y|=0)+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,D=(E|=0)+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,D=(C|=0)+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=y^p^a^t,U=M<<1|M>>>31,D=U+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=E^_^o^e,H=M<<1|M>>>31,D=H+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=C^A^c^a,x=M<<1|M>>>31,D=x+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=U^g^l^o,T=M<<1|M>>>31,D=T+(m<<5|m>>>27)+v+(d&S|~d&b)+1518500249|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=H^w^f^c,P=M<<1|M>>>31,D=P+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=x^y^u^l,z=M<<1|M>>>31,D=z+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=T^E^p^f,B=M<<1|M>>>31,D=B+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=P^C^_^u,k=M<<1|M>>>31,D=k+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=z^U^A^p,G=M<<1|M>>>31,D=G+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=B^H^g^_,R=M<<1|M>>>31,D=R+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=k^x^w^A,N=M<<1|M>>>31,D=N+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=G^T^y^g,I=M<<1|M>>>31,D=I+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=R^P^E^w,L=M<<1|M>>>31,D=L+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=N^z^C^y,O=M<<1|M>>>31,D=O+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=I^B^U^E,Z=M<<1|M>>>31,D=Z+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=L^k^H^C,K=M<<1|M>>>31,D=K+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=O^G^x^U,V=M<<1|M>>>31,D=V+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=Z^R^T^H,F=M<<1|M>>>31,D=F+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=K^N^P^x,j=M<<1|M>>>31,D=j+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=V^I^z^T,q=M<<1|M>>>31,D=q+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=F^L^B^P,J=M<<1|M>>>31,D=J+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=j^O^k^z,Q=M<<1|M>>>31,D=Q+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=q^Z^G^B,W=M<<1|M>>>31,D=W+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=J^K^R^k,X=M<<1|M>>>31,D=X+(m<<5|m>>>27)+v+(d^S^b)+1859775393|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=Q^V^N^G,Y=M<<1|M>>>31,D=Y+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=W^F^I^R,$=M<<1|M>>>31,D=$+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=X^j^L^N,tt=M<<1|M>>>31,D=tt+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=Y^q^O^I,et=M<<1|M>>>31,D=et+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=$^J^Z^L,st=M<<1|M>>>31,D=st+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=tt^Q^K^O,nt=M<<1|M>>>31,D=nt+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=et^W^V^Z,it=M<<1|M>>>31,D=it+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=st^X^F^K,rt=M<<1|M>>>31,D=rt+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=nt^Y^j^V,ht=M<<1|M>>>31,D=ht+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=it^$^q^F,at=M<<1|M>>>31,D=at+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=rt^tt^J^j,ot=M<<1|M>>>31,D=ot+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=ht^et^Q^q,ct=M<<1|M>>>31,D=ct+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=at^st^W^J,lt=M<<1|M>>>31,D=lt+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=ot^nt^X^Q,ft=M<<1|M>>>31,D=ft+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=ct^it^Y^W,ut=M<<1|M>>>31,D=ut+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=lt^rt^$^X,pt=M<<1|M>>>31,D=pt+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=ft^ht^tt^Y,_t=M<<1|M>>>31,D=_t+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=ut^at^et^$,At=M<<1|M>>>31,D=At+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=pt^ot^st^tt,gt=M<<1|M>>>31,D=gt+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=_t^ct^nt^et,wt=M<<1|M>>>31,D=wt+(m<<5|m>>>27)+v+(d&S|d&b|S&b)-1894007588|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=At^lt^it^st,yt=M<<1|M>>>31,D=yt+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=gt^ft^rt^nt,Et=M<<1|M>>>31,D=Et+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=wt^ut^ht^it,Ct=M<<1|M>>>31,D=Ct+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=yt^pt^at^rt,mt=M<<1|M>>>31,D=mt+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=Et^_t^ot^ht,dt=M<<1|M>>>31,D=dt+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=Ct^At^ct^at,St=M<<1|M>>>31,D=St+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=mt^gt^lt^ot,bt=M<<1|M>>>31,D=bt+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=dt^wt^ft^ct,vt=M<<1|M>>>31,D=vt+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=St^yt^ut^lt,Mt=M<<1|M>>>31,D=Mt+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=bt^Et^pt^ft,Dt=M<<1|M>>>31,D=Dt+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=vt^Ct^_t^ut,Ut=M<<1|M>>>31,D=Ut+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=Mt^mt^At^pt,Ht=M<<1|M>>>31,D=Ht+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=Dt^dt^gt^_t,xt=M<<1|M>>>31,D=xt+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=Ut^St^wt^At,Tt=M<<1|M>>>31,D=Tt+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=Ht^bt^yt^gt,Pt=M<<1|M>>>31,D=Pt+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=xt^vt^Et^wt,zt=M<<1|M>>>31,D=zt+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=Tt^Mt^Ct^yt,Bt=M<<1|M>>>31,D=Bt+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=Pt^Dt^mt^Et,kt=M<<1|M>>>31,D=kt+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=zt^Ut^dt^Ct,Gt=M<<1|M>>>31,D=Gt+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,M=Bt^Ht^St^mt,Rt=M<<1|M>>>31,D=Rt+(m<<5|m>>>27)+v+(d^S^b)-899497514|0,v=b,b=S,S=d<<30|d>>>2,d=m,m=D,s=s+m|0,n=n+d|0,i=i+S|0,r=r+b|0,h=h+v|0}function m(t){C(E[0|(t|=0)]<<24|E[1|t]<<16|E[2|t]<<8|E[3|t],E[4|t]<<24|E[5|t]<<16|E[6|t]<<8|E[7|t],E[8|t]<<24|E[9|t]<<16|E[10|t]<<8|E[11|t],E[12|t]<<24|E[13|t]<<16|E[14|t]<<8|E[15|t],E[16|t]<<24|E[17|t]<<16|E[18|t]<<8|E[19|t],E[20|t]<<24|E[21|t]<<16|E[22|t]<<8|E[23|t],E[24|t]<<24|E[25|t]<<16|E[26|t]<<8|E[27|t],E[28|t]<<24|E[29|t]<<16|E[30|t]<<8|E[31|t],E[32|t]<<24|E[33|t]<<16|E[34|t]<<8|E[35|t],E[36|t]<<24|E[37|t]<<16|E[38|t]<<8|E[39|t],E[40|t]<<24|E[41|t]<<16|E[42|t]<<8|E[43|t],E[44|t]<<24|E[45|t]<<16|E[46|t]<<8|E[47|t],E[48|t]<<24|E[49|t]<<16|E[50|t]<<8|E[51|t],E[52|t]<<24|E[53|t]<<16|E[54|t]<<8|E[55|t],E[56|t]<<24|E[57|t]<<16|E[58|t]<<8|E[59|t],E[60|t]<<24|E[61|t]<<16|E[62|t]<<8|E[63|t])}function d(t){E[0|(t|=0)]=s>>>24,E[1|t]=s>>>16&255,E[2|t]=s>>>8&255,E[3|t]=255&s,E[4|t]=n>>>24,E[5|t]=n>>>16&255,E[6|t]=n>>>8&255,E[7|t]=255&n,E[8|t]=i>>>24,E[9|t]=i>>>16&255,E[10|t]=i>>>8&255,E[11|t]=255&i,E[12|t]=r>>>24,E[13|t]=r>>>16&255,E[14|t]=r>>>8&255,E[15|t]=255&r,E[16|t]=h>>>24,E[17|t]=h>>>16&255,E[18|t]=h>>>8&255,E[19|t]=255&h}function S(){s=1732584193,n=4023233417,i=2562383102,r=271733878,h=3285377520,a=o=0}function b(t,e){e|=0;let s=0;if(63&(t|=0))return-1;for(;(0|e)>=64;)m(t),t=t+64|0,e=e-64|0,s=s+64|0;return a=a+s|0,a>>>0<s>>>0&&(o=o+1|0),0|s}function v(t,e,s){let n=0,i=0;if(63&(t|=0))return-1;if(~(s|=0)&&31&s)return-1;if((0|(e|=0))>=64){if(n=0|b(t,e),-1==(0|n))return-1;t=t+n|0,e=e-n|0}if(n=n+e|0,a=a+e|0,a>>>0<e>>>0&&(o=o+1|0),E[t|e]=128,(0|e)>=56){for(i=e+1|0;(0|i)<64;i=i+1|0)E[t|i]=0;m(t),e=0,E[0|t]=0}for(i=e+1|0;(0|i)<59;i=i+1|0)E[t|i]=0;return E[56|t]=o>>>21&255,E[57|t]=o>>>13&255,E[58|t]=o>>>5&255,E[59|t]=o<<3&255|a>>>29,E[60|t]=a>>>21&255,E[61|t]=a>>>13&255,E[62|t]=a>>>5&255,E[63|t]=a<<3&255,m(t),~s&&d(s),0|n}function M(){s=c,n=l,i=f,r=u,h=p,a=64,o=0}function D(){s=_,n=A,i=g,r=w,h=y,a=64,o=0}function U(t,e,a){let o=0,c=0,l=0,f=0,u=0,p=0;return 63&(t|=0)||~(a|=0)&&31&a?-1:(p=0|v(t,e|=0,-1),o=s,c=n,l=i,f=r,u=h,D(),C(o,c,l,f,u,2147483648,0,0,0,0,0,0,0,0,0,672),~a&&d(a),0|p)}return{reset:S,init:function(t,e,c,l,f,u,p){s=t|=0,n=e|=0,i=c|=0,r=l|=0,h=f|=0,a=u|=0,o=p|=0},process:b,finish:v,hmac_reset:M,hmac_init:function(t,e,E,m,d,b,v,M,D,U,H,x,T,P,z,B){t|=0,e|=0,E|=0,m|=0,d|=0,b|=0,v|=0,M|=0,D|=0,U|=0,H|=0,x|=0,T|=0,P|=0,z|=0,B|=0,S(),C(1549556828^t,1549556828^e,1549556828^E,1549556828^m,1549556828^d,1549556828^b,1549556828^v,1549556828^M,1549556828^D,1549556828^U,1549556828^H,1549556828^x,1549556828^T,1549556828^P,1549556828^z,1549556828^B),_=s,A=n,g=i,w=r,y=h,S(),C(909522486^t,909522486^e,909522486^E,909522486^m,909522486^d,909522486^b,909522486^v,909522486^M,909522486^D,909522486^U,909522486^H,909522486^x,909522486^T,909522486^P,909522486^z,909522486^B),c=s,l=n,f=i,u=r,p=h,a=64,o=0},hmac_finish:U,pbkdf2_generate_block:function(t,e,a,o,c){a|=0,o|=0;let l=0,f=0,u=0,p=0,_=0,A=0,g=0,w=0,y=0,m=0;if(63&(t|=0))return-1;if(~(c|=0)&&31&c)return-1;for(E[t+(e|=0)|0]=a>>>24,E[t+e+1|0]=a>>>16&255,E[t+e+2|0]=a>>>8&255,E[t+e+3|0]=255&a,U(t,e+4|0,-1),l=A=s,f=g=n,u=w=i,p=y=r,_=m=h,o=o-1|0;(0|o)>0;)M(),C(A,g,w,y,m,2147483648,0,0,0,0,0,0,0,0,0,672),A=s,g=n,w=i,y=r,m=h,D(),C(A,g,w,y,m,2147483648,0,0,0,0,0,0,0,0,0,672),A=s,g=n,w=i,y=r,m=h,l^=s,f^=n,u^=i,p^=r,_^=h,o=o-1|0;return s=l,n=f,i=u,r=p,h=_,~c&&d(c),0}}}(0,this.heap.buffer),this.reset()}}b.NAME="sha1";class v extends S{constructor(){super(),this.NAME="sha256",this.BLOCK_SIZE=64,this.HASH_SIZE=32,this.heap=i(),this.asm=function(t,e){let s=0,n=0,i=0,r=0,h=0,a=0,o=0,c=0,l=0,f=0,u=0,p=0,_=0,A=0,g=0,w=0,y=0,E=0,C=0,m=0,d=0,S=0,b=0,v=0,M=0,D=0;const U=new Uint8Array(e);function H(t,e,l,f,u,p,_,A,g,w,y,E,C,m,d,S){let b=0,v=0,M=0,D=0,U=0,H=0,x=0,T=0;b=s,v=n,M=i,D=r,U=h,H=a,x=o,T=c,T=(t|=0)+T+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(x^U&(H^x))+1116352408|0,D=D+T|0,T=T+(b&v^M&(b^v))+(b>>>2^b>>>13^b>>>22^b<<30^b<<19^b<<10)|0,x=(e|=0)+x+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(H^D&(U^H))+1899447441|0,M=M+x|0,x=x+(T&b^v&(T^b))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0,H=(l|=0)+H+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(U^M&(D^U))+3049323471|0,v=v+H|0,H=H+(x&T^b&(x^T))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0,U=(f|=0)+U+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(D^v&(M^D))+3921009573|0,b=b+U|0,U=U+(H&x^T&(H^x))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0,D=(u|=0)+D+(b>>>6^b>>>11^b>>>25^b<<26^b<<21^b<<7)+(M^b&(v^M))+961987163|0,T=T+D|0,D=D+(U&H^x&(U^H))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0,M=(p|=0)+M+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(v^T&(b^v))+1508970993|0,x=x+M|0,M=M+(D&U^H&(D^U))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0,v=(_|=0)+v+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(b^x&(T^b))+2453635748|0,H=H+v|0,v=v+(M&D^U&(M^D))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0,b=(A|=0)+b+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(T^H&(x^T))+2870763221|0,U=U+b|0,b=b+(v&M^D&(v^M))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0,T=(g|=0)+T+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(x^U&(H^x))+3624381080|0,D=D+T|0,T=T+(b&v^M&(b^v))+(b>>>2^b>>>13^b>>>22^b<<30^b<<19^b<<10)|0,x=(w|=0)+x+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(H^D&(U^H))+310598401|0,M=M+x|0,x=x+(T&b^v&(T^b))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0,H=(y|=0)+H+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(U^M&(D^U))+607225278|0,v=v+H|0,H=H+(x&T^b&(x^T))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0,U=(E|=0)+U+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(D^v&(M^D))+1426881987|0,b=b+U|0,U=U+(H&x^T&(H^x))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0,D=(C|=0)+D+(b>>>6^b>>>11^b>>>25^b<<26^b<<21^b<<7)+(M^b&(v^M))+1925078388|0,T=T+D|0,D=D+(U&H^x&(U^H))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0,M=(m|=0)+M+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(v^T&(b^v))+2162078206|0,x=x+M|0,M=M+(D&U^H&(D^U))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0,v=(d|=0)+v+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(b^x&(T^b))+2614888103|0,H=H+v|0,v=v+(M&D^U&(M^D))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0,b=(S|=0)+b+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(T^H&(x^T))+3248222580|0,U=U+b|0,b=b+(v&M^D&(v^M))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0,T=(t=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+t+w|0)+T+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(x^U&(H^x))+3835390401|0,D=D+T|0,T=T+(b&v^M&(b^v))+(b>>>2^b>>>13^b>>>22^b<<30^b<<19^b<<10)|0,x=(e=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(S>>>17^S>>>19^S>>>10^S<<15^S<<13)+e+y|0)+x+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(H^D&(U^H))+4022224774|0,M=M+x|0,x=x+(T&b^v&(T^b))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0,H=(l=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+l+E|0)+H+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(U^M&(D^U))+264347078|0,v=v+H|0,H=H+(x&T^b&(x^T))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0,U=(f=(u>>>7^u>>>18^u>>>3^u<<25^u<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+f+C|0)+U+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(D^v&(M^D))+604807628|0,b=b+U|0,U=U+(H&x^T&(H^x))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0,D=(u=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+u+m|0)+D+(b>>>6^b>>>11^b>>>25^b<<26^b<<21^b<<7)+(M^b&(v^M))+770255983|0,T=T+D|0,D=D+(U&H^x&(U^H))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0,M=(p=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+p+d|0)+M+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(v^T&(b^v))+1249150122|0,x=x+M|0,M=M+(D&U^H&(D^U))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0,v=(_=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(u>>>17^u>>>19^u>>>10^u<<15^u<<13)+_+S|0)+v+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(b^x&(T^b))+1555081692|0,H=H+v|0,v=v+(M&D^U&(M^D))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0,b=(A=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+A+t|0)+b+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(T^H&(x^T))+1996064986|0,U=U+b|0,b=b+(v&M^D&(v^M))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0,T=(g=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+g+e|0)+T+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(x^U&(H^x))+2554220882|0,D=D+T|0,T=T+(b&v^M&(b^v))+(b>>>2^b>>>13^b>>>22^b<<30^b<<19^b<<10)|0,x=(w=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+w+l|0)+x+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(H^D&(U^H))+2821834349|0,M=M+x|0,x=x+(T&b^v&(T^b))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0,H=(y=(E>>>7^E>>>18^E>>>3^E<<25^E<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+y+f|0)+H+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(U^M&(D^U))+2952996808|0,v=v+H|0,H=H+(x&T^b&(x^T))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0,U=(E=(C>>>7^C>>>18^C>>>3^C<<25^C<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+E+u|0)+U+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(D^v&(M^D))+3210313671|0,b=b+U|0,U=U+(H&x^T&(H^x))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0,D=(C=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+C+p|0)+D+(b>>>6^b>>>11^b>>>25^b<<26^b<<21^b<<7)+(M^b&(v^M))+3336571891|0,T=T+D|0,D=D+(U&H^x&(U^H))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0,M=(m=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(E>>>17^E>>>19^E>>>10^E<<15^E<<13)+m+_|0)+M+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(v^T&(b^v))+3584528711|0,x=x+M|0,M=M+(D&U^H&(D^U))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0,v=(d=(S>>>7^S>>>18^S>>>3^S<<25^S<<14)+(C>>>17^C>>>19^C>>>10^C<<15^C<<13)+d+A|0)+v+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(b^x&(T^b))+113926993|0,H=H+v|0,v=v+(M&D^U&(M^D))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0,b=(S=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+S+g|0)+b+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(T^H&(x^T))+338241895|0,U=U+b|0,b=b+(v&M^D&(v^M))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0,T=(t=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+t+w|0)+T+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(x^U&(H^x))+666307205|0,D=D+T|0,T=T+(b&v^M&(b^v))+(b>>>2^b>>>13^b>>>22^b<<30^b<<19^b<<10)|0,x=(e=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(S>>>17^S>>>19^S>>>10^S<<15^S<<13)+e+y|0)+x+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(H^D&(U^H))+773529912|0,M=M+x|0,x=x+(T&b^v&(T^b))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0,H=(l=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+l+E|0)+H+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(U^M&(D^U))+1294757372|0,v=v+H|0,H=H+(x&T^b&(x^T))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0,U=(f=(u>>>7^u>>>18^u>>>3^u<<25^u<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+f+C|0)+U+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(D^v&(M^D))+1396182291|0,b=b+U|0,U=U+(H&x^T&(H^x))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0,D=(u=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+u+m|0)+D+(b>>>6^b>>>11^b>>>25^b<<26^b<<21^b<<7)+(M^b&(v^M))+1695183700|0,T=T+D|0,D=D+(U&H^x&(U^H))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0,M=(p=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+p+d|0)+M+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(v^T&(b^v))+1986661051|0,x=x+M|0,M=M+(D&U^H&(D^U))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0,v=(_=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(u>>>17^u>>>19^u>>>10^u<<15^u<<13)+_+S|0)+v+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(b^x&(T^b))+2177026350|0,H=H+v|0,v=v+(M&D^U&(M^D))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0,b=(A=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+A+t|0)+b+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(T^H&(x^T))+2456956037|0,U=U+b|0,b=b+(v&M^D&(v^M))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0,T=(g=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+g+e|0)+T+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(x^U&(H^x))+2730485921|0,D=D+T|0,T=T+(b&v^M&(b^v))+(b>>>2^b>>>13^b>>>22^b<<30^b<<19^b<<10)|0,x=(w=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+w+l|0)+x+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(H^D&(U^H))+2820302411|0,M=M+x|0,x=x+(T&b^v&(T^b))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0,H=(y=(E>>>7^E>>>18^E>>>3^E<<25^E<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+y+f|0)+H+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(U^M&(D^U))+3259730800|0,v=v+H|0,H=H+(x&T^b&(x^T))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0,U=(E=(C>>>7^C>>>18^C>>>3^C<<25^C<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+E+u|0)+U+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(D^v&(M^D))+3345764771|0,b=b+U|0,U=U+(H&x^T&(H^x))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0,D=(C=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+C+p|0)+D+(b>>>6^b>>>11^b>>>25^b<<26^b<<21^b<<7)+(M^b&(v^M))+3516065817|0,T=T+D|0,D=D+(U&H^x&(U^H))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0,M=(m=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(E>>>17^E>>>19^E>>>10^E<<15^E<<13)+m+_|0)+M+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(v^T&(b^v))+3600352804|0,x=x+M|0,M=M+(D&U^H&(D^U))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0,v=(d=(S>>>7^S>>>18^S>>>3^S<<25^S<<14)+(C>>>17^C>>>19^C>>>10^C<<15^C<<13)+d+A|0)+v+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(b^x&(T^b))+4094571909|0,H=H+v|0,v=v+(M&D^U&(M^D))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0,b=(S=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+S+g|0)+b+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(T^H&(x^T))+275423344|0,U=U+b|0,b=b+(v&M^D&(v^M))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0,T=(t=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+t+w|0)+T+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(x^U&(H^x))+430227734|0,D=D+T|0,T=T+(b&v^M&(b^v))+(b>>>2^b>>>13^b>>>22^b<<30^b<<19^b<<10)|0,x=(e=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(S>>>17^S>>>19^S>>>10^S<<15^S<<13)+e+y|0)+x+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(H^D&(U^H))+506948616|0,M=M+x|0,x=x+(T&b^v&(T^b))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0,H=(l=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+l+E|0)+H+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(U^M&(D^U))+659060556|0,v=v+H|0,H=H+(x&T^b&(x^T))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0,U=(f=(u>>>7^u>>>18^u>>>3^u<<25^u<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+f+C|0)+U+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(D^v&(M^D))+883997877|0,b=b+U|0,U=U+(H&x^T&(H^x))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0,D=(u=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+u+m|0)+D+(b>>>6^b>>>11^b>>>25^b<<26^b<<21^b<<7)+(M^b&(v^M))+958139571|0,T=T+D|0,D=D+(U&H^x&(U^H))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0,M=(p=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+p+d|0)+M+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(v^T&(b^v))+1322822218|0,x=x+M|0,M=M+(D&U^H&(D^U))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0,v=(_=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(u>>>17^u>>>19^u>>>10^u<<15^u<<13)+_+S|0)+v+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(b^x&(T^b))+1537002063|0,H=H+v|0,v=v+(M&D^U&(M^D))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0,b=(A=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+A+t|0)+b+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(T^H&(x^T))+1747873779|0,U=U+b|0,b=b+(v&M^D&(v^M))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0,T=(g=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+g+e|0)+T+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(x^U&(H^x))+1955562222|0,D=D+T|0,T=T+(b&v^M&(b^v))+(b>>>2^b>>>13^b>>>22^b<<30^b<<19^b<<10)|0,x=(w=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+w+l|0)+x+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(H^D&(U^H))+2024104815|0,M=M+x|0,x=x+(T&b^v&(T^b))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0,H=(y=(E>>>7^E>>>18^E>>>3^E<<25^E<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+y+f|0)+H+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(U^M&(D^U))+2227730452|0,v=v+H|0,H=H+(x&T^b&(x^T))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0,U=(E=(C>>>7^C>>>18^C>>>3^C<<25^C<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+E+u|0)+U+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(D^v&(M^D))+2361852424|0,b=b+U|0,U=U+(H&x^T&(H^x))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0,D=(C=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+C+p|0)+D+(b>>>6^b>>>11^b>>>25^b<<26^b<<21^b<<7)+(M^b&(v^M))+2428436474|0,T=T+D|0,D=D+(U&H^x&(U^H))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0,M=(m=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(E>>>17^E>>>19^E>>>10^E<<15^E<<13)+m+_|0)+M+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(v^T&(b^v))+2756734187|0,x=x+M|0,M=M+(D&U^H&(D^U))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0,v=(d=(S>>>7^S>>>18^S>>>3^S<<25^S<<14)+(C>>>17^C>>>19^C>>>10^C<<15^C<<13)+d+A|0)+v+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(b^x&(T^b))+3204031479|0,H=H+v|0,v=v+(M&D^U&(M^D))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0,b=(S=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+S+g|0)+b+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(T^H&(x^T))+3329325298|0,U=U+b|0,b=b+(v&M^D&(v^M))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0,s=s+b|0,n=n+v|0,i=i+M|0,r=r+D|0,h=h+U|0,a=a+H|0,o=o+x|0,c=c+T|0}function x(t){H(U[0|(t|=0)]<<24|U[1|t]<<16|U[2|t]<<8|U[3|t],U[4|t]<<24|U[5|t]<<16|U[6|t]<<8|U[7|t],U[8|t]<<24|U[9|t]<<16|U[10|t]<<8|U[11|t],U[12|t]<<24|U[13|t]<<16|U[14|t]<<8|U[15|t],U[16|t]<<24|U[17|t]<<16|U[18|t]<<8|U[19|t],U[20|t]<<24|U[21|t]<<16|U[22|t]<<8|U[23|t],U[24|t]<<24|U[25|t]<<16|U[26|t]<<8|U[27|t],U[28|t]<<24|U[29|t]<<16|U[30|t]<<8|U[31|t],U[32|t]<<24|U[33|t]<<16|U[34|t]<<8|U[35|t],U[36|t]<<24|U[37|t]<<16|U[38|t]<<8|U[39|t],U[40|t]<<24|U[41|t]<<16|U[42|t]<<8|U[43|t],U[44|t]<<24|U[45|t]<<16|U[46|t]<<8|U[47|t],U[48|t]<<24|U[49|t]<<16|U[50|t]<<8|U[51|t],U[52|t]<<24|U[53|t]<<16|U[54|t]<<8|U[55|t],U[56|t]<<24|U[57|t]<<16|U[58|t]<<8|U[59|t],U[60|t]<<24|U[61|t]<<16|U[62|t]<<8|U[63|t])}function T(t){U[0|(t|=0)]=s>>>24,U[1|t]=s>>>16&255,U[2|t]=s>>>8&255,U[3|t]=255&s,U[4|t]=n>>>24,U[5|t]=n>>>16&255,U[6|t]=n>>>8&255,U[7|t]=255&n,U[8|t]=i>>>24,U[9|t]=i>>>16&255,U[10|t]=i>>>8&255,U[11|t]=255&i,U[12|t]=r>>>24,U[13|t]=r>>>16&255,U[14|t]=r>>>8&255,U[15|t]=255&r,U[16|t]=h>>>24,U[17|t]=h>>>16&255,U[18|t]=h>>>8&255,U[19|t]=255&h,U[20|t]=a>>>24,U[21|t]=a>>>16&255,U[22|t]=a>>>8&255,U[23|t]=255&a,U[24|t]=o>>>24,U[25|t]=o>>>16&255,U[26|t]=o>>>8&255,U[27|t]=255&o,U[28|t]=c>>>24,U[29|t]=c>>>16&255,U[30|t]=c>>>8&255,U[31|t]=255&c}function P(){s=1779033703,n=3144134277,i=1013904242,r=2773480762,h=1359893119,a=2600822924,o=528734635,c=1541459225,l=f=0}function z(t,e){e|=0;let s=0;if(63&(t|=0))return-1;for(;(0|e)>=64;)x(t),t=t+64|0,e=e-64|0,s=s+64|0;return l=l+s|0,l>>>0<s>>>0&&(f=f+1|0),0|s}function B(t,e,s){let n=0,i=0;if(63&(t|=0))return-1;if(~(s|=0)&&31&s)return-1;if((0|(e|=0))>=64){if(n=0|z(t,e),-1==(0|n))return-1;t=t+n|0,e=e-n|0}if(n=n+e|0,l=l+e|0,l>>>0<e>>>0&&(f=f+1|0),U[t|e]=128,(0|e)>=56){for(i=e+1|0;(0|i)<64;i=i+1|0)U[t|i]=0;x(t),e=0,U[0|t]=0}for(i=e+1|0;(0|i)<59;i=i+1|0)U[t|i]=0;return U[56|t]=f>>>21&255,U[57|t]=f>>>13&255,U[58|t]=f>>>5&255,U[59|t]=f<<3&255|l>>>29,U[60|t]=l>>>21&255,U[61|t]=l>>>13&255,U[62|t]=l>>>5&255,U[63|t]=l<<3&255,x(t),~s&&T(s),0|n}function k(){s=u,n=p,i=_,r=A,h=g,a=w,o=y,c=E,l=64,f=0}function G(){s=C,n=m,i=d,r=S,h=b,a=v,o=M,c=D,l=64,f=0}function R(t,e,l){let f=0,u=0,p=0,_=0,A=0,g=0,w=0,y=0,E=0;return 63&(t|=0)||~(l|=0)&&31&l?-1:(E=0|B(t,e|=0,-1),f=s,u=n,p=i,_=r,A=h,g=a,w=o,y=c,G(),H(f,u,p,_,A,g,w,y,2147483648,0,0,0,0,0,0,768),~l&&T(l),0|E)}return{reset:P,init:function(t,e,u,p,_,A,g,w,y,E){s=t|=0,n=e|=0,i=u|=0,r=p|=0,h=_|=0,a=A|=0,o=g|=0,c=w|=0,l=y|=0,f=E|=0},process:z,finish:B,hmac_reset:k,hmac_init:function(t,e,U,x,T,z,B,k,G,R,N,I,L,O,Z,K){t|=0,e|=0,U|=0,x|=0,T|=0,z|=0,B|=0,k|=0,G|=0,R|=0,N|=0,I|=0,L|=0,O|=0,Z|=0,K|=0,P(),H(1549556828^t,1549556828^e,1549556828^U,1549556828^x,1549556828^T,1549556828^z,1549556828^B,1549556828^k,1549556828^G,1549556828^R,1549556828^N,1549556828^I,1549556828^L,1549556828^O,1549556828^Z,1549556828^K),C=s,m=n,d=i,S=r,b=h,v=a,M=o,D=c,P(),H(909522486^t,909522486^e,909522486^U,909522486^x,909522486^T,909522486^z,909522486^B,909522486^k,909522486^G,909522486^R,909522486^N,909522486^I,909522486^L,909522486^O,909522486^Z,909522486^K),u=s,p=n,_=i,A=r,g=h,w=a,y=o,E=c,l=64,f=0},hmac_finish:R,pbkdf2_generate_block:function(t,e,l,f,u){l|=0,f|=0;let p=0,_=0,A=0,g=0,w=0,y=0,E=0,C=0,m=0,d=0,S=0,b=0,v=0,M=0,D=0,x=0;if(63&(t|=0))return-1;if(~(u|=0)&&31&u)return-1;for(U[t+(e|=0)|0]=l>>>24,U[t+e+1|0]=l>>>16&255,U[t+e+2|0]=l>>>8&255,U[t+e+3|0]=255&l,R(t,e+4|0,-1),p=m=s,_=d=n,A=S=i,g=b=r,w=v=h,y=M=a,E=D=o,C=x=c,f=f-1|0;(0|f)>0;)k(),H(m,d,S,b,v,M,D,x,2147483648,0,0,0,0,0,0,768),m=s,d=n,S=i,b=r,v=h,M=a,D=o,x=c,G(),H(m,d,S,b,v,M,D,x,2147483648,0,0,0,0,0,0,768),m=s,d=n,S=i,b=r,v=h,M=a,D=o,x=c,p^=s,_^=n,A^=i,g^=r,w^=h,y^=a,E^=o,C^=c,f=f-1|0;return s=p,n=_,i=A,r=g,h=w,a=y,o=E,c=C,~u&&T(u),0}}}(0,this.heap.buffer),this.reset()}}v.NAME="sha256";class M{constructor(t,e,s){if(!t.HASH_SIZE)throw new SyntaxError("option 'hash' supplied doesn't seem to be a valid hash function");this.hash=t,this.BLOCK_SIZE=this.hash.BLOCK_SIZE,this.HMAC_SIZE=this.hash.HASH_SIZE,this.result=null,this.key=function(t,e){const s=new Uint8Array(t.BLOCK_SIZE);e.length>t.BLOCK_SIZE?s.set(t.reset().process(e).finish().result):s.set(e);return s}(this.hash,e);const n=new Uint8Array(this.key);for(let t=0;t<n.length;++t)n[t]^=54;this.hash.reset().process(n),void 0!==s?this._hmac_init_verify(s):this.verify=null}process(e){if(null!==this.result)throw new t("state must be reset before processing new data");return this.hash.process(e),this}finish(){if(null!==this.result)throw new t("state must be reset before processing new data");const e=this.hash.finish().result,s=new Uint8Array(this.key);for(let t=0;t<s.length;++t)s[t]^=92;const n=this.verify,i=this.hash.reset().process(s).process(e).finish().result;if(n){if(n.length!==i.length)throw new Error("HMAC verification failed, lengths doesn't match");{let t=0;for(let e=0;e<n.length;e++)t|=n[e]^i[e];if(0!==t)throw new Error("HMAC verification failed, hash value doesn't match")}}return this.result=i,this}_hmac_init_verify(t){if(t.length!==this.HMAC_SIZE)throw new e("illegal verification tag size");this.verify=t}}class D extends M{static sha(t,e,s){return new D(e,s).process(t).finish().result}constructor(t,e){return super(new b,t,e),this.reset(),void 0!==e?this._hmac_init_verify(e):this.verify=null,this}reset(){this.result=null;const t=this.key;return this.hash.reset().asm.hmac_init(t[0]<<24|t[1]<<16|t[2]<<8|t[3],t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[8]<<24|t[9]<<16|t[10]<<8|t[11],t[12]<<24|t[13]<<16|t[14]<<8|t[15],t[16]<<24|t[17]<<16|t[18]<<8|t[19],t[20]<<24|t[21]<<16|t[22]<<8|t[23],t[24]<<24|t[25]<<16|t[26]<<8|t[27],t[28]<<24|t[29]<<16|t[30]<<8|t[31],t[32]<<24|t[33]<<16|t[34]<<8|t[35],t[36]<<24|t[37]<<16|t[38]<<8|t[39],t[40]<<24|t[41]<<16|t[42]<<8|t[43],t[44]<<24|t[45]<<16|t[46]<<8|t[47],t[48]<<24|t[49]<<16|t[50]<<8|t[51],t[52]<<24|t[53]<<16|t[54]<<8|t[55],t[56]<<24|t[57]<<16|t[58]<<8|t[59],t[60]<<24|t[61]<<16|t[62]<<8|t[63]),this}finish(){if(null!==this.result)throw new t("state must be reset before processing new data");const e=this.hash,s=this.hash.asm,n=this.hash.heap;s.hmac_finish(e.pos,e.len,0);const i=this.verify,r=new Uint8Array(20);if(r.set(n.subarray(0,20)),i){if(i.length!==r.length)throw new Error("HMAC verification failed, lengths doesn't match");{let t=0;for(let e=0;e<i.length;e++)t|=i[e]^r[e];if(0!==t)throw new Error("HMAC verification failed, hash value doesn't match")}}else this.result=r;return this}}class U extends M{static sha(t,e,s){return new U(e,s).process(t).finish().result}constructor(t,e){return super(new v,t,e),this.reset(),void 0!==e?this._hmac_init_verify(e):this.verify=null,this}reset(){const t=this.key;return this.hash.reset().asm.hmac_init(t[0]<<24|t[1]<<16|t[2]<<8|t[3],t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[8]<<24|t[9]<<16|t[10]<<8|t[11],t[12]<<24|t[13]<<16|t[14]<<8|t[15],t[16]<<24|t[17]<<16|t[18]<<8|t[19],t[20]<<24|t[21]<<16|t[22]<<8|t[23],t[24]<<24|t[25]<<16|t[26]<<8|t[27],t[28]<<24|t[29]<<16|t[30]<<8|t[31],t[32]<<24|t[33]<<16|t[34]<<8|t[35],t[36]<<24|t[37]<<16|t[38]<<8|t[39],t[40]<<24|t[41]<<16|t[42]<<8|t[43],t[44]<<24|t[45]<<16|t[46]<<8|t[47],t[48]<<24|t[49]<<16|t[50]<<8|t[51],t[52]<<24|t[53]<<16|t[54]<<8|t[55],t[56]<<24|t[57]<<16|t[58]<<8|t[59],t[60]<<24|t[61]<<16|t[62]<<8|t[63]),this}finish(){if(null===this.key)throw new t("no key is associated with the instance");if(null!==this.result)throw new t("state must be reset before processing new data");const e=this.hash,s=this.hash.asm,n=this.hash.heap;s.hmac_finish(e.pos,e.len,0);const i=this.verify,r=new Uint8Array(32);if(r.set(n.subarray(0,32)),i){if(i.length!==r.length)throw new Error("HMAC verification failed, lengths doesn't match");{let t=0;for(let e=0;e<i.length;e++)t|=i[e]^r[e];if(0!==t)throw new Error("HMAC verification failed, hash value doesn't match")}}else this.result=r;return this}}exports.AES=y,exports.AES_CBC=m,exports.AES_CCM=d,exports.AES_ECB=C,exports.AES_GCM=E,exports.HmacSha1=D,exports.HmacSha256=U,exports.IllegalArgumentError=e,exports.IllegalStateError=t,exports.SecurityError=s,exports.Sha1=b,exports.Sha256=v,exports._sha1_block_size=64,exports._sha1_hash_size=20,exports._sha256_block_size=64,exports._sha256_hash_size=32;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});class t extends Error{constructor(...t){super(...t)}}class e extends Error{constructor(...t){super(...t)}}class s extends Error{constructor(...t){super(...t)}}function n(t){return t instanceof Uint8Array}function r(t,e){const s=t?t.byteLength:e||65536;if(4095&s||s<=0)throw new Error("heap size must be a positive integer and a multiple of 4096");return t=t||new Uint8Array(new ArrayBuffer(s))}function i(t,e,s,n,r){const i=t.length-e,h=i<r?i:r;return t.set(s.subarray(n,n+h),e),h}function h(...t){const e=t.reduce(((t,e)=>t+e.length),0),s=new Uint8Array(e);let n=0;for(let e=0;e<t.length;e++)s.set(t[e],n),n+=t[e].length;return s}let a,o,c=!1;function f(t,e){let s=a[(o[t]+o[e])%255];return 0!==t&&0!==e||(s=0),s}let l,u,p,_,A=!1;function g(){function t(t){let e,s,n;for(s=n=function(t){let e=a[255-o[t]];return 0===t&&(e=0),e}(t),e=0;e<4;e++)s=255&(s<<1|s>>>7),n^=s;return n^=99,n}c||function(){a=[],o=[];let t,e,s=1;for(t=0;t<255;t++)a[t]=s,e=128&s,s<<=1,s&=255,128===e&&(s^=27),s^=a[t],o[a[t]]=t;a[255]=a[0],o[0]=0,c=!0}(),l=[],u=[],p=[[],[],[],[]],_=[[],[],[],[]];for(let e=0;e<256;e++){const s=t(e);l[e]=s,u[s]=e,p[0][e]=f(2,s)<<24|s<<16|s<<8|f(3,s),_[0][s]=f(14,e)<<24|f(9,e)<<16|f(13,e)<<8|f(11,e);for(let t=1;t<4;t++)p[t][e]=p[t-1][e]>>>8|p[t-1][e]<<24,_[t][s]=_[t-1][s]>>>8|_[t-1][s]<<24}A=!0}class y{constructor(t,e){return function(t,e){A||g();const s=new Uint32Array(e);s.set(l,512),s.set(u,768);for(let t=0;t<4;t++)s.set(p[t],4096+1024*t>>2),s.set(_[t],8192+1024*t>>2);function n(t,e,n,i,h,a,o,c,f){const u=s.subarray(0,60),p=s.subarray(256,316);u.set([e,n,i,h,a,o,c,f]);let A=t;for(let e=1;A<4*t+28;A++){let s=u[A-1];(A%t==0||8===t&&A%t==4)&&(s=l[s>>>24]<<24^l[s>>>16&255]<<16^l[s>>>8&255]<<8^l[255&s]),A%t==0&&(s=s<<8^s>>>24^e<<24,e=e<<1^(128&e?27:0)),u[A]=u[A-t]^s}for(let t=0;t<A;t+=4)for(let e=0;e<4;e++){const s=u[A-(4+t)+(4-e)%4];p[t+e]=t<4||t>=A-4?s:_[0][l[s>>>24]]^_[1][l[s>>>16&255]]^_[2][l[s>>>8&255]]^_[3][l[255&s]]}r.set_rounds(t+5)}const r=function(t,e){"use asm";let s=0,r=0,i=0,h=0,a=0,o=0,c=0,f=0,l=0,u=0,p=0,_=0,A=0,g=0,y=0,w=0,E=0,d=0,C=0,m=0,b=0;const x=new Uint32Array(e),S=new Uint8Array(e);function v(t,e,n,a,o,c,f,l){t=t|0;e=e|0;n=n|0;a=a|0;o=o|0;c=c|0;f=f|0;l=l|0;let u=0,p=0,_=0,A=0,g=0,y=0,w=0,E=0;u=n|0x400,p=n|0x800,_=n|0xc00;o=o^x[(t|0)>>2],c=c^x[(t|4)>>2],f=f^x[(t|8)>>2],l=l^x[(t|12)>>2];for(E=16;(E|0)<=a<<4;E=E+16|0){A=x[(n|o>>22&1020)>>2]^x[(u|c>>14&1020)>>2]^x[(p|f>>6&1020)>>2]^x[(_|l<<2&1020)>>2]^x[(t|E|0)>>2],g=x[(n|c>>22&1020)>>2]^x[(u|f>>14&1020)>>2]^x[(p|l>>6&1020)>>2]^x[(_|o<<2&1020)>>2]^x[(t|E|4)>>2],y=x[(n|f>>22&1020)>>2]^x[(u|l>>14&1020)>>2]^x[(p|o>>6&1020)>>2]^x[(_|c<<2&1020)>>2]^x[(t|E|8)>>2],w=x[(n|l>>22&1020)>>2]^x[(u|o>>14&1020)>>2]^x[(p|c>>6&1020)>>2]^x[(_|f<<2&1020)>>2]^x[(t|E|12)>>2];o=A,c=g,f=y,l=w}s=x[(e|o>>22&1020)>>2]<<24^x[(e|c>>14&1020)>>2]<<16^x[(e|f>>6&1020)>>2]<<8^x[(e|l<<2&1020)>>2]^x[(t|E|0)>>2],r=x[(e|c>>22&1020)>>2]<<24^x[(e|f>>14&1020)>>2]<<16^x[(e|l>>6&1020)>>2]<<8^x[(e|o<<2&1020)>>2]^x[(t|E|4)>>2],i=x[(e|f>>22&1020)>>2]<<24^x[(e|l>>14&1020)>>2]<<16^x[(e|o>>6&1020)>>2]<<8^x[(e|c<<2&1020)>>2]^x[(t|E|8)>>2],h=x[(e|l>>22&1020)>>2]<<24^x[(e|o>>14&1020)>>2]<<16^x[(e|c>>6&1020)>>2]<<8^x[(e|f<<2&1020)>>2]^x[(t|E|12)>>2]}function D(t,e,s,n){t=t|0;e=e|0;s=s|0;n=n|0;v(0x0000,0x0800,0x1000,b,t,e,s,n)}function M(t,e,s,n){t=t|0;e=e|0;s=s|0;n=n|0;let i=0;v(0x0400,0x0c00,0x2000,b,t,n,s,e);i=r,r=h,h=i}function U(t,e,n,l){t=t|0;e=e|0;n=n|0;l=l|0;v(0x0000,0x0800,0x1000,b,a^t,o^e,c^n,f^l);a=s,o=r,c=i,f=h}function H(t,e,n,l){t=t|0;e=e|0;n=n|0;l=l|0;let u=0;v(0x0400,0x0c00,0x2000,b,t,l,n,e);u=r,r=h,h=u;s=s^a,r=r^o,i=i^c,h=h^f;a=t,o=e,c=n,f=l}function z(t,e,n,l){t=t|0;e=e|0;n=n|0;l=l|0;v(0x0000,0x0800,0x1000,b,a,o,c,f);a=s=s^t,o=r=r^e,c=i=i^n,f=h=h^l}function T(t,e,n,l){t=t|0;e=e|0;n=n|0;l=l|0;v(0x0000,0x0800,0x1000,b,a,o,c,f);s=s^t,r=r^e,i=i^n,h=h^l;a=t,o=e,c=n,f=l}function P(t,e,n,l){t=t|0;e=e|0;n=n|0;l=l|0;v(0x0000,0x0800,0x1000,b,a,o,c,f);a=s,o=r,c=i,f=h;s=s^t,r=r^e,i=i^n,h=h^l}function B(t,e,n,a){t=t|0;e=e|0;n=n|0;a=a|0;v(0x0000,0x0800,0x1000,b,l,u,p,_);_=~w&_|w&_+1;p=~y&p|y&p+Number((_|0)===0);u=~g&u|g&u+Number((p|0)===0);l=~A&l|A&l+Number((u|0)===0);s=s^t;r=r^e;i=i^n;h=h^a}function k(t,e,s,n){t=t|0;e=e|0;s=s|0;n=n|0;let r=0,i=0,h=0,l=0,u=0,p=0,_=0,A=0,g=0,y=0;t=t^a,e=e^o,s=s^c,n=n^f;r=E|0,i=d|0,h=C|0,l=m|0;for(;(g|0)<128;g=g+1|0){if(r>>>31){u=u^t,p=p^e,_=_^s,A=A^n}r=r<<1|i>>>31,i=i<<1|h>>>31,h=h<<1|l>>>31,l=l<<1;y=n&1;n=n>>>1|s<<31,s=s>>>1|e<<31,e=e>>>1|t<<31,t=t>>>1;if(y)t=t^0xe1000000}a=u,o=p,c=_,f=A}function I(t){t=t|0;b=t}function R(t,e,n,a){t=t|0;e=e|0;n=n|0;a=a|0;s=t,r=e,i=n,h=a}function G(t,e,s,n){t=t|0;e=e|0;s=s|0;n=n|0;a=t,o=e,c=s,f=n}function N(t,e,s,n){t=t|0;e=e|0;s=s|0;n=n|0;l=t,u=e,p=s,_=n}function L(t,e,s,n){t=t|0;e=e|0;s=s|0;n=n|0;A=t,g=e,y=s,w=n}function O(t,e,s,n){t=t|0;e=e|0;s=s|0;n=n|0;_=~w&_|w&n,p=~y&p|y&s,u=~g&u|g&e,l=~A&l|A&t}function Z(t){t=t|0;if(t&15)return-1;S[t|0]=s>>>24,S[t|1]=s>>>16&255,S[t|2]=s>>>8&255,S[t|3]=s&255,S[t|4]=r>>>24,S[t|5]=r>>>16&255,S[t|6]=r>>>8&255,S[t|7]=r&255,S[t|8]=i>>>24,S[t|9]=i>>>16&255,S[t|10]=i>>>8&255,S[t|11]=i&255,S[t|12]=h>>>24,S[t|13]=h>>>16&255,S[t|14]=h>>>8&255,S[t|15]=h&255;return 16}function K(t){t=t|0;if(t&15)return-1;S[t|0]=a>>>24,S[t|1]=a>>>16&255,S[t|2]=a>>>8&255,S[t|3]=a&255,S[t|4]=o>>>24,S[t|5]=o>>>16&255,S[t|6]=o>>>8&255,S[t|7]=o&255,S[t|8]=c>>>24,S[t|9]=c>>>16&255,S[t|10]=c>>>8&255,S[t|11]=c&255,S[t|12]=f>>>24,S[t|13]=f>>>16&255,S[t|14]=f>>>8&255,S[t|15]=f&255;return 16}function V(){D(0,0,0,0);E=s,d=r,C=i,m=h}function F(t,e,n){t=t|0;e=e|0;n=n|0;let a=0;if(e&15)return-1;while((n|0)>=16){X[t&7](S[e|0]<<24|S[e|1]<<16|S[e|2]<<8|S[e|3],S[e|4]<<24|S[e|5]<<16|S[e|6]<<8|S[e|7],S[e|8]<<24|S[e|9]<<16|S[e|10]<<8|S[e|11],S[e|12]<<24|S[e|13]<<16|S[e|14]<<8|S[e|15]);S[e|0]=s>>>24,S[e|1]=s>>>16&255,S[e|2]=s>>>8&255,S[e|3]=s&255,S[e|4]=r>>>24,S[e|5]=r>>>16&255,S[e|6]=r>>>8&255,S[e|7]=r&255,S[e|8]=i>>>24,S[e|9]=i>>>16&255,S[e|10]=i>>>8&255,S[e|11]=i&255,S[e|12]=h>>>24,S[e|13]=h>>>16&255,S[e|14]=h>>>8&255,S[e|15]=h&255;a=a+16|0,e=e+16|0,n=n-16|0}return a|0}function j(t,e,s){t=t|0;e=e|0;s=s|0;let n=0;if(e&15)return-1;while((s|0)>=16){Y[t&1](S[e|0]<<24|S[e|1]<<16|S[e|2]<<8|S[e|3],S[e|4]<<24|S[e|5]<<16|S[e|6]<<8|S[e|7],S[e|8]<<24|S[e|9]<<16|S[e|10]<<8|S[e|11],S[e|12]<<24|S[e|13]<<16|S[e|14]<<8|S[e|15]);n=n+16|0,e=e+16|0,s=s-16|0}return n|0}const X=[D,M,U,H,z,T,P,B];const Y=[U,k];return{set_rounds:I,set_state:R,set_iv:G,set_nonce:N,set_mask:L,set_counter:O,get_state:Z,get_iv:K,gcm_init:V,cipher:F,mac:j,set_key:n}}(t,e);return r}(t,e)}set_key(t,e,s,n,r,i,h,a,o){}set_iv(t,e,s,n){}set_mask(t,e,s,n){}set_nonce(t,e,s,n){}set_counter(t,e,s,n){}cipher(t,e,s){return 0}gcm_init(){}get_iv(t){return 16}mac(t,e,s){return 0}get_state(t){return 16}}y.ENC={ECB:0,CBC:2,CFB:4,OFB:6,CTR:7},y.DEC={ECB:1,CBC:3,CFB:5,OFB:6,CTR:7},y.MAC={CBC:0,GCM:1},y.HEAP_DATA=16384;class w{constructor(t,s,n=!0,i,h,a){this.pos=0,this.len=0,this.mode=i,this.heap=h||r().subarray(y.HEAP_DATA),this.asm=a||new y(null,this.heap.buffer),this.pos=0,this.len=0;const o=t.length;if(16!==o&&24!==o&&32!==o)throw new e("illegal key size");const c=new DataView(t.buffer,t.byteOffset,t.byteLength);if(this.asm.set_key(o>>2,c.getUint32(0),c.getUint32(4),c.getUint32(8),c.getUint32(12),o>16?c.getUint32(16):0,o>16?c.getUint32(20):0,o>24?c.getUint32(24):0,o>24?c.getUint32(28):0),void 0!==s){if(16!==s.length)throw new e("illegal iv size");const t=new DataView(s.buffer,s.byteOffset,s.byteLength);this.asm.set_iv(t.getUint32(0),t.getUint32(4),t.getUint32(8),t.getUint32(12))}else this.asm.set_iv(0,0,0,0);this.padding=n}AES_Encrypt_process(t){if(!n(t))throw new TypeError("data isn't of expected type");const e=this.asm,s=this.heap,r=y.ENC[this.mode],h=y.HEAP_DATA;let a=this.pos,o=this.len,c=0,f=t.length||0,l=0;let u=0;const p=new Uint8Array(o+f&-16);for(;f>0;)u=i(s,a+o,t,c,f),o+=u,c+=u,f-=u,u=e.cipher(r,h+a,o),u&&p.set(s.subarray(a,a+u),l),l+=u,u<o?(a+=u,o-=u):(a=0,o=0);return this.pos=a,this.len=o,p}AES_Encrypt_finish(){const t=this.asm,s=this.heap,n=y.ENC[this.mode],r=y.HEAP_DATA,i=this.pos;let h=this.len;const a=16-h%16;let o=h;if(this.hasOwnProperty("padding")){if(this.padding){for(let t=0;t<a;++t)s[i+h+t]=a;h+=a,o=h}else if(h%16)throw new e("data length must be a multiple of the block size")}else h+=a;const c=new Uint8Array(o);return h&&t.cipher(n,r+i,h),o&&c.set(s.subarray(i,i+o)),this.pos=0,this.len=0,c}AES_Decrypt_process(t){if(!n(t))throw new TypeError("data isn't of expected type");const e=this.asm,s=this.heap,r=y.DEC[this.mode],h=y.HEAP_DATA;let a=this.pos,o=this.len,c=0,f=t.length||0,l=0,u=o+f&-16,p=0,_=0;this.padding&&(p=o+f-u||16,u-=p);const A=new Uint8Array(u);for(;f>0;)_=i(s,a+o,t,c,f),o+=_,c+=_,f-=_,_=e.cipher(r,h+a,o-(f?0:p)),_&&A.set(s.subarray(a,a+_),l),l+=_,_<o?(a+=_,o-=_):(a=0,o=0);return this.pos=a,this.len=o,A}AES_Decrypt_finish(){const t=this.asm,n=this.heap,r=y.DEC[this.mode],i=y.HEAP_DATA,h=this.pos;let a=this.len,o=a;if(a>0){if(a%16){if(this.hasOwnProperty("padding"))throw new e("data length must be a multiple of the block size");a+=16-a%16}if(t.cipher(r,i+h,a),this.hasOwnProperty("padding")&&this.padding){const t=n[h+o-1];if(t<1||t>16||t>o)throw new s("bad padding");let e=0;for(let s=t;s>1;s--)e|=t^n[h+o-s];if(e)throw new s("bad padding");o-=t}}const c=new Uint8Array(o);return o>0&&c.set(n.subarray(h,h+o)),this.pos=0,this.len=0,c}}class E{constructor(t,s,n,r=16,i){if(this.tagSize=r,this.gamma0=0,this.counter=1,this.aes=i||new w(t,void 0,!1,"CTR"),this.aes.asm.gcm_init(),this.tagSize<4||this.tagSize>16)throw new e("illegal tagSize value");const h=s.length||0,a=new Uint8Array(16);12!==h?(this._gcm_mac_process(s),this.aes.heap[0]=0,this.aes.heap[1]=0,this.aes.heap[2]=0,this.aes.heap[3]=0,this.aes.heap[4]=0,this.aes.heap[5]=0,this.aes.heap[6]=0,this.aes.heap[7]=0,this.aes.heap[8]=0,this.aes.heap[9]=0,this.aes.heap[10]=0,this.aes.heap[11]=h>>>29,this.aes.heap[12]=h>>>21&255,this.aes.heap[13]=h>>>13&255,this.aes.heap[14]=h>>>5&255,this.aes.heap[15]=h<<3&255,this.aes.asm.mac(y.MAC.GCM,y.HEAP_DATA,16),this.aes.asm.get_iv(y.HEAP_DATA),this.aes.asm.set_iv(0,0,0,0),a.set(this.aes.heap.subarray(0,16))):(a.set(s),a[15]=1);const o=new DataView(a.buffer);if(this.gamma0=o.getUint32(12),this.aes.asm.set_nonce(o.getUint32(0),o.getUint32(4),o.getUint32(8),0),this.aes.asm.set_mask(0,0,0,4294967295),void 0!==n){if(n.length>68719476704)throw new e("illegal adata length");n.length?(this.adata=n,this._gcm_mac_process(n)):this.adata=void 0}else this.adata=void 0;if(this.counter<1||this.counter>4294967295)throw new RangeError("counter must be a positive 32-bit integer");this.aes.asm.set_counter(0,0,0,this.gamma0+this.counter|0)}static encrypt(t,e,s,n,r){return new E(e,s,n,r).encrypt(t)}static decrypt(t,e,s,n,r){return new E(e,s,n,r).decrypt(t)}encrypt(t){return this.AES_GCM_encrypt(t)}decrypt(t){return this.AES_GCM_decrypt(t)}AES_GCM_Encrypt_process(t){let e=0,s=t.length||0;const n=this.aes.asm,r=this.aes.heap;let h=this.counter,a=this.aes.pos,o=this.aes.len,c=0;const f=o+s&-16;let l=0;if((h-1<<4)+o+s>68719476704)throw new RangeError("counter overflow");const u=new Uint8Array(f);for(;s>0;)l=i(r,a+o,t,e,s),o+=l,e+=l,s-=l,l=n.cipher(y.ENC.CTR,y.HEAP_DATA+a,o),l=n.mac(y.MAC.GCM,y.HEAP_DATA+a,l),l&&u.set(r.subarray(a,a+l),c),h+=l>>>4,c+=l,l<o?(a+=l,o-=l):(a=0,o=0);return this.counter=h,this.aes.pos=a,this.aes.len=o,u}AES_GCM_Encrypt_finish(){const t=this.aes.asm,e=this.aes.heap,s=this.counter,n=this.tagSize,r=this.adata,i=this.aes.pos,h=this.aes.len,a=new Uint8Array(h+n);t.cipher(y.ENC.CTR,y.HEAP_DATA+i,h+15&-16),h&&a.set(e.subarray(i,i+h));let o=h;for(;15&o;o++)e[i+o]=0;t.mac(y.MAC.GCM,y.HEAP_DATA+i,o);const c=void 0!==r?r.length:0,f=(s-1<<4)+h;return e[0]=0,e[1]=0,e[2]=0,e[3]=c>>>29,e[4]=c>>>21,e[5]=c>>>13&255,e[6]=c>>>5&255,e[7]=c<<3&255,e[8]=e[9]=e[10]=0,e[11]=f>>>29,e[12]=f>>>21&255,e[13]=f>>>13&255,e[14]=f>>>5&255,e[15]=f<<3&255,t.mac(y.MAC.GCM,y.HEAP_DATA,16),t.get_iv(y.HEAP_DATA),t.set_counter(0,0,0,this.gamma0),t.cipher(y.ENC.CTR,y.HEAP_DATA,16),a.set(e.subarray(0,n),h),this.counter=1,this.aes.pos=0,this.aes.len=0,a}AES_GCM_Decrypt_process(t){let e=0,s=t.length||0;const n=this.aes.asm,r=this.aes.heap;let h=this.counter;const a=this.tagSize;let o=this.aes.pos,c=this.aes.len,f=0;const l=c+s>a?c+s-a&-16:0,u=c+s-l;let p=0;if((h-1<<4)+c+s>68719476704)throw new RangeError("counter overflow");const _=new Uint8Array(l);for(;s>u;)p=i(r,o+c,t,e,s-u),c+=p,e+=p,s-=p,p=n.mac(y.MAC.GCM,y.HEAP_DATA+o,p),p=n.cipher(y.DEC.CTR,y.HEAP_DATA+o,p),p&&_.set(r.subarray(o,o+p),f),h+=p>>>4,f+=p,o=0,c=0;return s>0&&(c+=i(r,0,t,e,s)),this.counter=h,this.aes.pos=o,this.aes.len=c,_}AES_GCM_Decrypt_finish(){const e=this.aes.asm,n=this.aes.heap,r=this.tagSize,i=this.adata,h=this.counter,a=this.aes.pos,o=this.aes.len,c=o-r;if(o<r)throw new t("authentication tag not found");const f=new Uint8Array(c),l=n.slice(a+c,a+o);let u=c;for(;15&u;u++)n[a+u]=0;e.mac(y.MAC.GCM,y.HEAP_DATA+a,u),e.cipher(y.DEC.CTR,y.HEAP_DATA+a,u),c&&f.set(n.subarray(a,a+c));const p=void 0!==i?i.length:0,_=(h-1<<4)+o-r;n[0]=0,n[1]=0,n[2]=0,n[3]=p>>>29,n[4]=p>>>21,n[5]=p>>>13&255,n[6]=p>>>5&255,n[7]=p<<3&255,n[8]=n[9]=n[10]=0,n[11]=_>>>29,n[12]=_>>>21&255,n[13]=_>>>13&255,n[14]=_>>>5&255,n[15]=_<<3&255,e.mac(y.MAC.GCM,y.HEAP_DATA,16),e.get_iv(y.HEAP_DATA),e.set_counter(0,0,0,this.gamma0),e.cipher(y.ENC.CTR,y.HEAP_DATA,16);let A=0;for(let t=0;t<r;++t)A|=l[t]^n[t];if(A)throw new s("data integrity check failed");return this.counter=1,this.aes.pos=0,this.aes.len=0,f}AES_GCM_decrypt(t){const e=this.AES_GCM_Decrypt_process(t),s=this.AES_GCM_Decrypt_finish(),n=new Uint8Array(e.length+s.length);return e.length&&n.set(e),s.length&&n.set(s,e.length),n}AES_GCM_encrypt(t){const e=this.AES_GCM_Encrypt_process(t),s=this.AES_GCM_Encrypt_finish(),n=new Uint8Array(e.length+s.length);return e.length&&n.set(e),s.length&&n.set(s,e.length),n}_gcm_mac_process(t){const e=this.aes.heap,s=this.aes.asm;let n=0,r=t.length||0,h=0;for(;r>0;){for(h=i(e,0,t,n,r),n+=h,r-=h;15&h;)e[h++]=0;s.mac(y.MAC.GCM,y.HEAP_DATA,h)}}}class d{constructor(t,e=!1,s){this.aes=s||new w(t,void 0,e,"ECB")}static encrypt(t,e,s=!1){return new d(e,s).encrypt(t)}static decrypt(t,e,s=!1){return new d(e,s).decrypt(t)}encrypt(t){return h(this.aes.AES_Encrypt_process(t),this.aes.AES_Encrypt_finish())}decrypt(t){return h(this.aes.AES_Decrypt_process(t),this.aes.AES_Decrypt_finish())}}class C{constructor(t,e,s=!0,n){this.aes=n||new w(t,e,s,"CBC")}static encrypt(t,e,s=!0,n){return new C(e,n,s).encrypt(t)}static decrypt(t,e,s=!0,n){return new C(e,n,s).decrypt(t)}encrypt(t){return h(this.aes.AES_Encrypt_process(t),this.aes.AES_Encrypt_finish())}decrypt(t){return h(this.aes.AES_Decrypt_process(t),this.aes.AES_Decrypt_finish())}}class m{constructor(t,s,n,r=16,i,h){if(this.counter=1,this.dataLength=-1,this.aes=h||new w(t,void 0,void 0,"CCM"),r<4||r>16||1&r)throw new e("illegal tagSize value");if(this.tagSize=r,this.nonce=s,s.length<8||s.length>13)throw new e("illegal nonce length");if(this.lengthSize=15-s.length,(s=new Uint8Array(s.length+1))[0]=this.lengthSize-1,s.set(this.nonce,1),i<0||i>0xffffffffffff0||i>Math.pow(2,8*this.lengthSize)-16)throw new e("illegal dataLength value");if(void 0!==n){if(n.length>65279)throw new e("illegal adata length");this.adata=n.length?n:void 0}this.dataLength=i,this.counter=1,this.AES_CCM_calculate_iv(),this.AES_CTR_set_options(s,this.counter,8*this.lengthSize)}static encrypt(t,e,s,n,r=16){return new m(e,s,n,r,t.length).encrypt(t)}static decrypt(t,e,s,n,r=16){return new m(e,s,n,r,t.length-r).decrypt(t)}encrypt(t){this.dataLength=t.length||0;const e=this.AES_CCM_Encrypt_process(t),s=this.AES_CCM_Encrypt_finish(),n=new Uint8Array(e.length+s.length);return e.length&&n.set(e),s.length&&n.set(s,e.length),n}decrypt(t){this.dataLength=t.length||0;const e=this.AES_CCM_Decrypt_process(t),s=this.AES_CCM_Decrypt_finish(),n=new Uint8Array(e.length+s.length);return e.length&&n.set(e),s.length&&n.set(s,e.length),n}AES_CCM_calculate_iv(){const t=this.nonce,e=this.adata,s=this.tagSize,n=this.lengthSize,r=this.dataLength,i=new Uint8Array(16+(e?2+e.length:0));i[0]=(e?64:0)|s-2<<2|n-1,i.set(t,1),n>6&&(i[9]=r/4294967296>>>16&15),n>5&&(i[10]=r/4294967296>>>8&255),n>4&&(i[11]=r/4294967296&255),n>3&&(i[12]=r>>>24),n>2&&(i[13]=r>>>16&255),i[14]=r>>>8&255,i[15]=255&r,e&&(i[16]=e.length>>>8&255,i[17]=255&e.length,i.set(e,18)),this._cbc_mac_process(i),this.aes.asm.get_state(y.HEAP_DATA);const h=new Uint8Array(this.aes.heap.subarray(0,16)),a=new DataView(h.buffer,h.byteOffset,h.byteLength);this.aes.asm.set_iv(a.getUint32(0),a.getUint32(4),a.getUint32(8),a.getUint32(12))}_cbc_mac_process(t){const e=this.aes.heap,s=this.aes.asm;let n=0,r=t.length||0,h=0;for(;r>0;){for(h=i(e,0,t,n,r);15&h;)e[h++]=0;n+=h,r-=h,s.mac(y.MAC.CBC,y.HEAP_DATA,h)}}AES_CCM_Encrypt_process(t){const e=this.aes.asm,s=this.aes.heap;let n=0,r=t.length||0,h=this.counter,a=this.aes.pos,o=this.aes.len;const c=o+r&-16;let f=0,l=0;if((h-1<<4)+o+r>0xffffffffffff0)throw new RangeError("counter overflow");const u=new Uint8Array(c);for(;r>0;)l=i(s,a+o,t,n,r),o+=l,n+=l,r-=l,l=e.mac(y.MAC.CBC,y.HEAP_DATA+a,o),l=e.cipher(y.ENC.CTR,y.HEAP_DATA+a,l),l&&u.set(s.subarray(a,a+l),f),h+=l>>>4,f+=l,l<o?(a+=l,o-=l):(a=0,o=0);return this.counter=h,this.aes.pos=a,this.aes.len=o,u}AES_CCM_Encrypt_finish(){const t=this.aes.asm,e=this.aes.heap,s=this.tagSize,n=this.aes.pos,r=this.aes.len,i=new Uint8Array(r+s);let h=r;for(;15&h;h++)e[n+h]=0;return t.mac(y.MAC.CBC,y.HEAP_DATA+n,h),t.cipher(y.ENC.CTR,y.HEAP_DATA+n,h),r&&i.set(e.subarray(n,n+r)),t.set_counter(0,0,0,0),t.get_iv(y.HEAP_DATA),t.cipher(y.ENC.CTR,y.HEAP_DATA,16),i.set(e.subarray(0,s),r),this.counter=1,this.aes.pos=0,this.aes.len=0,i}AES_CCM_Decrypt_process(t){let e=0,s=t.length||0;const n=this.aes.asm,r=this.aes.heap;let h=this.counter;const a=this.tagSize;let o=this.aes.pos,c=this.aes.len,f=0;const l=c+s>a?c+s-a&-16:0,u=c+s-l;let p=0;if((h-1<<4)+c+s>0xffffffffffff0)throw new RangeError("counter overflow");const _=new Uint8Array(l);for(;s>u;)p=i(r,o+c,t,e,s-u),c+=p,e+=p,s-=p,p=n.cipher(y.DEC.CTR,y.HEAP_DATA+o,p),p=n.mac(y.MAC.CBC,y.HEAP_DATA+o,p),p&&_.set(r.subarray(o,o+p),f),h+=p>>>4,f+=p,o=0,c=0;return s>0&&(c+=i(r,0,t,e,s)),this.counter=h,this.aes.pos=o,this.aes.len=c,_}AES_CCM_Decrypt_finish(){const e=this.aes.asm,n=this.aes.heap,r=this.tagSize,i=this.aes.pos,h=this.aes.len,a=h-r;if(h<r)throw new t("authentication tag not found");const o=new Uint8Array(a),c=new Uint8Array(n.subarray(i+a,i+h));e.cipher(y.DEC.CTR,y.HEAP_DATA+i,a+15&-16),o.set(n.subarray(i,i+a));let f=a;for(;15&f;f++)n[i+f]=0;e.mac(y.MAC.CBC,y.HEAP_DATA+i,f),e.set_counter(0,0,0,0),e.get_iv(y.HEAP_DATA),e.cipher(y.ENC.CTR,y.HEAP_DATA,16);let l=0;for(let t=0;t<r;++t)l|=c[t]^n[t];if(l)throw new s("data integrity check failed");return this.counter=1,this.aes.pos=0,this.aes.len=0,o}AES_CTR_set_options(t,s,n){if(n<8||n>48)throw new e("illegal counter size");const r=Math.pow(2,n)-1;this.aes.asm.set_mask(0,0,r/4294967296|0,0|r);const i=t.length;if(!i||i>16)throw new e("illegal nonce size");this.nonce=t;const h=new DataView(new ArrayBuffer(16));if(new Uint8Array(h.buffer).set(t),this.aes.asm.set_nonce(h.getUint32(0),h.getUint32(4),h.getUint32(8),h.getUint32(12)),s<0||s>=Math.pow(2,n))throw new e("illegal counter value");this.counter=s,this.aes.asm.set_counter(0,0,s/4294967296|0,0|s)}}class b{constructor(){this.pos=0,this.len=0}reset(){return this.result=null,this.pos=0,this.len=0,this.asm.reset(),this}process(e){if(null!==this.result)throw new t("state must be reset before processing new data");const s=this.asm,n=this.heap;let r=this.pos,h=this.len,a=0,o=e.length,c=0;for(;o>0;)c=i(n,r+h,e,a,o),h+=c,a+=c,o-=c,c=s.process(r,h),r+=c,h-=c,h||(r=0);return this.pos=r,this.len=h,this}finish(){if(null!==this.result)throw new t("state must be reset before processing new data");return this.asm.finish(this.pos,this.len,0),this.result=new Uint8Array(this.HASH_SIZE),this.result.set(this.heap.subarray(0,this.HASH_SIZE)),this.pos=0,this.len=0,this}}class x extends b{constructor(){super(),this.NAME="sha1",this.BLOCK_SIZE=64,this.HASH_SIZE=20,this.heap=r(),this.asm=function(t,e){let s=0,n=0,r=0,i=0,h=0,a=0,o=0,c=0,f=0,l=0,u=0,p=0,_=0,A=0,g=0,y=0,w=0;const E=new Uint8Array(e);function d(t,e,a,o,c,f,l,u,p,_,A,g,y,w,E,d){let C=0,m=0,b=0,x=0,S=0,v=0,D=0,M=0,U=0,H=0,z=0,T=0,P=0,B=0,k=0,I=0,R=0,G=0,N=0,L=0,O=0,Z=0,K=0,V=0,F=0,j=0,X=0,Y=0,q=0,J=0,Q=0,W=0,$=0,tt=0,et=0,st=0,nt=0,rt=0,it=0,ht=0,at=0,ot=0,ct=0,ft=0,lt=0,ut=0,pt=0,_t=0,At=0,gt=0,yt=0,wt=0,Et=0,dt=0,Ct=0,mt=0,bt=0,xt=0,St=0,vt=0,Dt=0,Mt=0,Ut=0,Ht=0,zt=0,Tt=0,Pt=0,Bt=0,kt=0,It=0,Rt=0;C=s,m=n,b=r,x=i,S=h,D=(t|=0)+(C<<5|C>>>27)+S+(m&b|~m&x)+1518500249|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,D=(e|=0)+(C<<5|C>>>27)+S+(m&b|~m&x)+1518500249|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,D=(a|=0)+(C<<5|C>>>27)+S+(m&b|~m&x)+1518500249|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,D=(o|=0)+(C<<5|C>>>27)+S+(m&b|~m&x)+1518500249|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,D=(c|=0)+(C<<5|C>>>27)+S+(m&b|~m&x)+1518500249|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,D=(f|=0)+(C<<5|C>>>27)+S+(m&b|~m&x)+1518500249|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,D=(l|=0)+(C<<5|C>>>27)+S+(m&b|~m&x)+1518500249|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,D=(u|=0)+(C<<5|C>>>27)+S+(m&b|~m&x)+1518500249|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,D=(p|=0)+(C<<5|C>>>27)+S+(m&b|~m&x)+1518500249|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,D=(_|=0)+(C<<5|C>>>27)+S+(m&b|~m&x)+1518500249|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,D=(A|=0)+(C<<5|C>>>27)+S+(m&b|~m&x)+1518500249|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,D=(g|=0)+(C<<5|C>>>27)+S+(m&b|~m&x)+1518500249|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,D=(y|=0)+(C<<5|C>>>27)+S+(m&b|~m&x)+1518500249|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,D=(w|=0)+(C<<5|C>>>27)+S+(m&b|~m&x)+1518500249|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,D=(E|=0)+(C<<5|C>>>27)+S+(m&b|~m&x)+1518500249|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,D=(d|=0)+(C<<5|C>>>27)+S+(m&b|~m&x)+1518500249|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=w^p^a^t,M=v<<1|v>>>31,D=M+(C<<5|C>>>27)+S+(m&b|~m&x)+1518500249|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=E^_^o^e,U=v<<1|v>>>31,D=U+(C<<5|C>>>27)+S+(m&b|~m&x)+1518500249|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=d^A^c^a,H=v<<1|v>>>31,D=H+(C<<5|C>>>27)+S+(m&b|~m&x)+1518500249|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=M^g^f^o,z=v<<1|v>>>31,D=z+(C<<5|C>>>27)+S+(m&b|~m&x)+1518500249|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=U^y^l^c,T=v<<1|v>>>31,D=T+(C<<5|C>>>27)+S+(m^b^x)+1859775393|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=H^w^u^f,P=v<<1|v>>>31,D=P+(C<<5|C>>>27)+S+(m^b^x)+1859775393|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=z^E^p^l,B=v<<1|v>>>31,D=B+(C<<5|C>>>27)+S+(m^b^x)+1859775393|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=T^d^_^u,k=v<<1|v>>>31,D=k+(C<<5|C>>>27)+S+(m^b^x)+1859775393|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=P^M^A^p,I=v<<1|v>>>31,D=I+(C<<5|C>>>27)+S+(m^b^x)+1859775393|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=B^U^g^_,R=v<<1|v>>>31,D=R+(C<<5|C>>>27)+S+(m^b^x)+1859775393|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=k^H^y^A,G=v<<1|v>>>31,D=G+(C<<5|C>>>27)+S+(m^b^x)+1859775393|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=I^z^w^g,N=v<<1|v>>>31,D=N+(C<<5|C>>>27)+S+(m^b^x)+1859775393|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=R^T^E^y,L=v<<1|v>>>31,D=L+(C<<5|C>>>27)+S+(m^b^x)+1859775393|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=G^P^d^w,O=v<<1|v>>>31,D=O+(C<<5|C>>>27)+S+(m^b^x)+1859775393|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=N^B^M^E,Z=v<<1|v>>>31,D=Z+(C<<5|C>>>27)+S+(m^b^x)+1859775393|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=L^k^U^d,K=v<<1|v>>>31,D=K+(C<<5|C>>>27)+S+(m^b^x)+1859775393|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=O^I^H^M,V=v<<1|v>>>31,D=V+(C<<5|C>>>27)+S+(m^b^x)+1859775393|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=Z^R^z^U,F=v<<1|v>>>31,D=F+(C<<5|C>>>27)+S+(m^b^x)+1859775393|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=K^G^T^H,j=v<<1|v>>>31,D=j+(C<<5|C>>>27)+S+(m^b^x)+1859775393|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=V^N^P^z,X=v<<1|v>>>31,D=X+(C<<5|C>>>27)+S+(m^b^x)+1859775393|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=F^L^B^T,Y=v<<1|v>>>31,D=Y+(C<<5|C>>>27)+S+(m^b^x)+1859775393|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=j^O^k^P,q=v<<1|v>>>31,D=q+(C<<5|C>>>27)+S+(m^b^x)+1859775393|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=X^Z^I^B,J=v<<1|v>>>31,D=J+(C<<5|C>>>27)+S+(m^b^x)+1859775393|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=Y^K^R^k,Q=v<<1|v>>>31,D=Q+(C<<5|C>>>27)+S+(m^b^x)+1859775393|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=q^V^G^I,W=v<<1|v>>>31,D=W+(C<<5|C>>>27)+S+(m&b|m&x|b&x)-1894007588|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=J^F^N^R,$=v<<1|v>>>31,D=$+(C<<5|C>>>27)+S+(m&b|m&x|b&x)-1894007588|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=Q^j^L^G,tt=v<<1|v>>>31,D=tt+(C<<5|C>>>27)+S+(m&b|m&x|b&x)-1894007588|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=W^X^O^N,et=v<<1|v>>>31,D=et+(C<<5|C>>>27)+S+(m&b|m&x|b&x)-1894007588|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=$^Y^Z^L,st=v<<1|v>>>31,D=st+(C<<5|C>>>27)+S+(m&b|m&x|b&x)-1894007588|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=tt^q^K^O,nt=v<<1|v>>>31,D=nt+(C<<5|C>>>27)+S+(m&b|m&x|b&x)-1894007588|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=et^J^V^Z,rt=v<<1|v>>>31,D=rt+(C<<5|C>>>27)+S+(m&b|m&x|b&x)-1894007588|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=st^Q^F^K,it=v<<1|v>>>31,D=it+(C<<5|C>>>27)+S+(m&b|m&x|b&x)-1894007588|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=nt^W^j^V,ht=v<<1|v>>>31,D=ht+(C<<5|C>>>27)+S+(m&b|m&x|b&x)-1894007588|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=rt^$^X^F,at=v<<1|v>>>31,D=at+(C<<5|C>>>27)+S+(m&b|m&x|b&x)-1894007588|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=it^tt^Y^j,ot=v<<1|v>>>31,D=ot+(C<<5|C>>>27)+S+(m&b|m&x|b&x)-1894007588|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=ht^et^q^X,ct=v<<1|v>>>31,D=ct+(C<<5|C>>>27)+S+(m&b|m&x|b&x)-1894007588|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=at^st^J^Y,ft=v<<1|v>>>31,D=ft+(C<<5|C>>>27)+S+(m&b|m&x|b&x)-1894007588|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=ot^nt^Q^q,lt=v<<1|v>>>31,D=lt+(C<<5|C>>>27)+S+(m&b|m&x|b&x)-1894007588|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=ct^rt^W^J,ut=v<<1|v>>>31,D=ut+(C<<5|C>>>27)+S+(m&b|m&x|b&x)-1894007588|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=ft^it^$^Q,pt=v<<1|v>>>31,D=pt+(C<<5|C>>>27)+S+(m&b|m&x|b&x)-1894007588|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=lt^ht^tt^W,_t=v<<1|v>>>31,D=_t+(C<<5|C>>>27)+S+(m&b|m&x|b&x)-1894007588|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=ut^at^et^$,At=v<<1|v>>>31,D=At+(C<<5|C>>>27)+S+(m&b|m&x|b&x)-1894007588|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=pt^ot^st^tt,gt=v<<1|v>>>31,D=gt+(C<<5|C>>>27)+S+(m&b|m&x|b&x)-1894007588|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=_t^ct^nt^et,yt=v<<1|v>>>31,D=yt+(C<<5|C>>>27)+S+(m&b|m&x|b&x)-1894007588|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=At^ft^rt^st,wt=v<<1|v>>>31,D=wt+(C<<5|C>>>27)+S+(m^b^x)-899497514|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=gt^lt^it^nt,Et=v<<1|v>>>31,D=Et+(C<<5|C>>>27)+S+(m^b^x)-899497514|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=yt^ut^ht^rt,dt=v<<1|v>>>31,D=dt+(C<<5|C>>>27)+S+(m^b^x)-899497514|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=wt^pt^at^it,Ct=v<<1|v>>>31,D=Ct+(C<<5|C>>>27)+S+(m^b^x)-899497514|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=Et^_t^ot^ht,mt=v<<1|v>>>31,D=mt+(C<<5|C>>>27)+S+(m^b^x)-899497514|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=dt^At^ct^at,bt=v<<1|v>>>31,D=bt+(C<<5|C>>>27)+S+(m^b^x)-899497514|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=Ct^gt^ft^ot,xt=v<<1|v>>>31,D=xt+(C<<5|C>>>27)+S+(m^b^x)-899497514|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=mt^yt^lt^ct,St=v<<1|v>>>31,D=St+(C<<5|C>>>27)+S+(m^b^x)-899497514|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=bt^wt^ut^ft,vt=v<<1|v>>>31,D=vt+(C<<5|C>>>27)+S+(m^b^x)-899497514|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=xt^Et^pt^lt,Dt=v<<1|v>>>31,D=Dt+(C<<5|C>>>27)+S+(m^b^x)-899497514|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=St^dt^_t^ut,Mt=v<<1|v>>>31,D=Mt+(C<<5|C>>>27)+S+(m^b^x)-899497514|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=vt^Ct^At^pt,Ut=v<<1|v>>>31,D=Ut+(C<<5|C>>>27)+S+(m^b^x)-899497514|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=Dt^mt^gt^_t,Ht=v<<1|v>>>31,D=Ht+(C<<5|C>>>27)+S+(m^b^x)-899497514|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=Mt^bt^yt^At,zt=v<<1|v>>>31,D=zt+(C<<5|C>>>27)+S+(m^b^x)-899497514|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=Ut^xt^wt^gt,Tt=v<<1|v>>>31,D=Tt+(C<<5|C>>>27)+S+(m^b^x)-899497514|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=Ht^St^Et^yt,Pt=v<<1|v>>>31,D=Pt+(C<<5|C>>>27)+S+(m^b^x)-899497514|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=zt^vt^dt^wt,Bt=v<<1|v>>>31,D=Bt+(C<<5|C>>>27)+S+(m^b^x)-899497514|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=Tt^Dt^Ct^Et,kt=v<<1|v>>>31,D=kt+(C<<5|C>>>27)+S+(m^b^x)-899497514|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=Pt^Mt^mt^dt,It=v<<1|v>>>31,D=It+(C<<5|C>>>27)+S+(m^b^x)-899497514|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,v=Bt^Ut^bt^Ct,Rt=v<<1|v>>>31,D=Rt+(C<<5|C>>>27)+S+(m^b^x)-899497514|0,S=x,x=b,b=m<<30|m>>>2,m=C,C=D,s=s+C|0,n=n+m|0,r=r+b|0,i=i+x|0,h=h+S|0}function C(t){d(E[0|(t|=0)]<<24|E[1|t]<<16|E[2|t]<<8|E[3|t],E[4|t]<<24|E[5|t]<<16|E[6|t]<<8|E[7|t],E[8|t]<<24|E[9|t]<<16|E[10|t]<<8|E[11|t],E[12|t]<<24|E[13|t]<<16|E[14|t]<<8|E[15|t],E[16|t]<<24|E[17|t]<<16|E[18|t]<<8|E[19|t],E[20|t]<<24|E[21|t]<<16|E[22|t]<<8|E[23|t],E[24|t]<<24|E[25|t]<<16|E[26|t]<<8|E[27|t],E[28|t]<<24|E[29|t]<<16|E[30|t]<<8|E[31|t],E[32|t]<<24|E[33|t]<<16|E[34|t]<<8|E[35|t],E[36|t]<<24|E[37|t]<<16|E[38|t]<<8|E[39|t],E[40|t]<<24|E[41|t]<<16|E[42|t]<<8|E[43|t],E[44|t]<<24|E[45|t]<<16|E[46|t]<<8|E[47|t],E[48|t]<<24|E[49|t]<<16|E[50|t]<<8|E[51|t],E[52|t]<<24|E[53|t]<<16|E[54|t]<<8|E[55|t],E[56|t]<<24|E[57|t]<<16|E[58|t]<<8|E[59|t],E[60|t]<<24|E[61|t]<<16|E[62|t]<<8|E[63|t])}function m(t){E[0|(t|=0)]=s>>>24,E[1|t]=s>>>16&255,E[2|t]=s>>>8&255,E[3|t]=255&s,E[4|t]=n>>>24,E[5|t]=n>>>16&255,E[6|t]=n>>>8&255,E[7|t]=255&n,E[8|t]=r>>>24,E[9|t]=r>>>16&255,E[10|t]=r>>>8&255,E[11|t]=255&r,E[12|t]=i>>>24,E[13|t]=i>>>16&255,E[14|t]=i>>>8&255,E[15|t]=255&i,E[16|t]=h>>>24,E[17|t]=h>>>16&255,E[18|t]=h>>>8&255,E[19|t]=255&h}function b(){s=1732584193,n=4023233417,r=2562383102,i=271733878,h=3285377520,a=o=0}function x(t,e){e|=0;let s=0;if(63&(t|=0))return-1;for(;(0|e)>=64;)C(t),t=t+64|0,e=e-64|0,s=s+64|0;return a=a+s|0,a>>>0<s>>>0&&(o=o+1|0),0|s}function S(t,e,s){let n=0,r=0;if(63&(t|=0))return-1;if(~(s|=0)&&31&s)return-1;if((0|(e|=0))>=64){if(n=0|x(t,e),-1==(0|n))return-1;t=t+n|0,e=e-n|0}if(n=n+e|0,a=a+e|0,a>>>0<e>>>0&&(o=o+1|0),E[t|e]=128,(0|e)>=56){for(r=e+1|0;(0|r)<64;r=r+1|0)E[t|r]=0;C(t),e=0,E[0|t]=0}for(r=e+1|0;(0|r)<59;r=r+1|0)E[t|r]=0;return E[56|t]=o>>>21&255,E[57|t]=o>>>13&255,E[58|t]=o>>>5&255,E[59|t]=o<<3&255|a>>>29,E[60|t]=a>>>21&255,E[61|t]=a>>>13&255,E[62|t]=a>>>5&255,E[63|t]=a<<3&255,C(t),~s&&m(s),0|n}function v(){s=c,n=f,r=l,i=u,h=p,a=64,o=0}function D(){s=_,n=A,r=g,i=y,h=w,a=64,o=0}function M(t,e,a){let o=0,c=0,f=0,l=0,u=0,p=0;return 63&(t|=0)||~(a|=0)&&31&a?-1:(p=0|S(t,e|=0,-1),o=s,c=n,f=r,l=i,u=h,D(),d(o,c,f,l,u,2147483648,0,0,0,0,0,0,0,0,0,672),~a&&m(a),0|p)}return{reset:b,init:function(t,e,c,f,l,u,p){s=t|=0,n=e|=0,r=c|=0,i=f|=0,h=l|=0,a=u|=0,o=p|=0},process:x,finish:S,hmac_reset:v,hmac_init:function(t,e,E,C,m,x,S,v,D,M,U,H,z,T,P,B){t|=0,e|=0,E|=0,C|=0,m|=0,x|=0,S|=0,v|=0,D|=0,M|=0,U|=0,H|=0,z|=0,T|=0,P|=0,B|=0,b(),d(1549556828^t,1549556828^e,1549556828^E,1549556828^C,1549556828^m,1549556828^x,1549556828^S,1549556828^v,1549556828^D,1549556828^M,1549556828^U,1549556828^H,1549556828^z,1549556828^T,1549556828^P,1549556828^B),_=s,A=n,g=r,y=i,w=h,b(),d(909522486^t,909522486^e,909522486^E,909522486^C,909522486^m,909522486^x,909522486^S,909522486^v,909522486^D,909522486^M,909522486^U,909522486^H,909522486^z,909522486^T,909522486^P,909522486^B),c=s,f=n,l=r,u=i,p=h,a=64,o=0},hmac_finish:M,pbkdf2_generate_block:function(t,e,a,o,c){a|=0,o|=0;let f=0,l=0,u=0,p=0,_=0,A=0,g=0,y=0,w=0,C=0;if(63&(t|=0))return-1;if(~(c|=0)&&31&c)return-1;for(E[t+(e|=0)|0]=a>>>24,E[t+e+1|0]=a>>>16&255,E[t+e+2|0]=a>>>8&255,E[t+e+3|0]=255&a,M(t,e+4|0,-1),f=A=s,l=g=n,u=y=r,p=w=i,_=C=h,o=o-1|0;(0|o)>0;)v(),d(A,g,y,w,C,2147483648,0,0,0,0,0,0,0,0,0,672),A=s,g=n,y=r,w=i,C=h,D(),d(A,g,y,w,C,2147483648,0,0,0,0,0,0,0,0,0,672),A=s,g=n,y=r,w=i,C=h,f^=s,l^=n,u^=r,p^=i,_^=h,o=o-1|0;return s=f,n=l,r=u,i=p,h=_,~c&&m(c),0}}}(0,this.heap.buffer),this.reset()}}x.NAME="sha1";class S extends b{constructor(){super(),this.NAME="sha256",this.BLOCK_SIZE=64,this.HASH_SIZE=32,this.heap=r(),this.asm=function(t,e){let s=0,n=0,r=0,i=0,h=0,a=0,o=0,c=0,f=0,l=0,u=0,p=0,_=0,A=0,g=0,y=0,w=0,E=0,d=0,C=0,m=0,b=0,x=0,S=0,v=0,D=0;const M=new Uint8Array(e);function U(t,e,f,l,u,p,_,A,g,y,w,E,d,C,m,b){let x=0,S=0,v=0,D=0,M=0,U=0,H=0,z=0;x=s,S=n,v=r,D=i,M=h,U=a,H=o,z=c,z=(t|=0)+z+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(H^M&(U^H))+1116352408|0,D=D+z|0,z=z+(x&S^v&(x^S))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0,H=(e|=0)+H+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(U^D&(M^U))+1899447441|0,v=v+H|0,H=H+(z&x^S&(z^x))+(z>>>2^z>>>13^z>>>22^z<<30^z<<19^z<<10)|0,U=(f|=0)+U+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(M^v&(D^M))+3049323471|0,S=S+U|0,U=U+(H&z^x&(H^z))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0,M=(l|=0)+M+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(D^S&(v^D))+3921009573|0,x=x+M|0,M=M+(U&H^z&(U^H))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0,D=(u|=0)+D+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(v^x&(S^v))+961987163|0,z=z+D|0,D=D+(M&U^H&(M^U))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0,v=(p|=0)+v+(z>>>6^z>>>11^z>>>25^z<<26^z<<21^z<<7)+(S^z&(x^S))+1508970993|0,H=H+v|0,v=v+(D&M^U&(D^M))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0,S=(_|=0)+S+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(x^H&(z^x))+2453635748|0,U=U+S|0,S=S+(v&D^M&(v^D))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0,x=(A|=0)+x+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(z^U&(H^z))+2870763221|0,M=M+x|0,x=x+(S&v^D&(S^v))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0,z=(g|=0)+z+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(H^M&(U^H))+3624381080|0,D=D+z|0,z=z+(x&S^v&(x^S))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0,H=(y|=0)+H+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(U^D&(M^U))+310598401|0,v=v+H|0,H=H+(z&x^S&(z^x))+(z>>>2^z>>>13^z>>>22^z<<30^z<<19^z<<10)|0,U=(w|=0)+U+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(M^v&(D^M))+607225278|0,S=S+U|0,U=U+(H&z^x&(H^z))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0,M=(E|=0)+M+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(D^S&(v^D))+1426881987|0,x=x+M|0,M=M+(U&H^z&(U^H))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0,D=(d|=0)+D+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(v^x&(S^v))+1925078388|0,z=z+D|0,D=D+(M&U^H&(M^U))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0,v=(C|=0)+v+(z>>>6^z>>>11^z>>>25^z<<26^z<<21^z<<7)+(S^z&(x^S))+2162078206|0,H=H+v|0,v=v+(D&M^U&(D^M))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0,S=(m|=0)+S+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(x^H&(z^x))+2614888103|0,U=U+S|0,S=S+(v&D^M&(v^D))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0,x=(b|=0)+x+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(z^U&(H^z))+3248222580|0,M=M+x|0,x=x+(S&v^D&(S^v))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0,z=(t=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+t+y|0)+z+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(H^M&(U^H))+3835390401|0,D=D+z|0,z=z+(x&S^v&(x^S))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0,H=(e=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+e+w|0)+H+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(U^D&(M^U))+4022224774|0,v=v+H|0,H=H+(z&x^S&(z^x))+(z>>>2^z>>>13^z>>>22^z<<30^z<<19^z<<10)|0,U=(f=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+f+E|0)+U+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(M^v&(D^M))+264347078|0,S=S+U|0,U=U+(H&z^x&(H^z))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0,M=(l=(u>>>7^u>>>18^u>>>3^u<<25^u<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+l+d|0)+M+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(D^S&(v^D))+604807628|0,x=x+M|0,M=M+(U&H^z&(U^H))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0,D=(u=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+u+C|0)+D+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(v^x&(S^v))+770255983|0,z=z+D|0,D=D+(M&U^H&(M^U))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0,v=(p=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+p+m|0)+v+(z>>>6^z>>>11^z>>>25^z<<26^z<<21^z<<7)+(S^z&(x^S))+1249150122|0,H=H+v|0,v=v+(D&M^U&(D^M))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0,S=(_=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(u>>>17^u>>>19^u>>>10^u<<15^u<<13)+_+b|0)+S+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(x^H&(z^x))+1555081692|0,U=U+S|0,S=S+(v&D^M&(v^D))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0,x=(A=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+A+t|0)+x+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(z^U&(H^z))+1996064986|0,M=M+x|0,x=x+(S&v^D&(S^v))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0,z=(g=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+g+e|0)+z+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(H^M&(U^H))+2554220882|0,D=D+z|0,z=z+(x&S^v&(x^S))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0,H=(y=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+y+f|0)+H+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(U^D&(M^U))+2821834349|0,v=v+H|0,H=H+(z&x^S&(z^x))+(z>>>2^z>>>13^z>>>22^z<<30^z<<19^z<<10)|0,U=(w=(E>>>7^E>>>18^E>>>3^E<<25^E<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+w+l|0)+U+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(M^v&(D^M))+2952996808|0,S=S+U|0,U=U+(H&z^x&(H^z))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0,M=(E=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+E+u|0)+M+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(D^S&(v^D))+3210313671|0,x=x+M|0,M=M+(U&H^z&(U^H))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0,D=(d=(C>>>7^C>>>18^C>>>3^C<<25^C<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+d+p|0)+D+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(v^x&(S^v))+3336571891|0,z=z+D|0,D=D+(M&U^H&(M^U))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0,v=(C=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(E>>>17^E>>>19^E>>>10^E<<15^E<<13)+C+_|0)+v+(z>>>6^z>>>11^z>>>25^z<<26^z<<21^z<<7)+(S^z&(x^S))+3584528711|0,H=H+v|0,v=v+(D&M^U&(D^M))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0,S=(m=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+m+A|0)+S+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(x^H&(z^x))+113926993|0,U=U+S|0,S=S+(v&D^M&(v^D))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0,x=(b=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(C>>>17^C>>>19^C>>>10^C<<15^C<<13)+b+g|0)+x+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(z^U&(H^z))+338241895|0,M=M+x|0,x=x+(S&v^D&(S^v))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0,z=(t=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+t+y|0)+z+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(H^M&(U^H))+666307205|0,D=D+z|0,z=z+(x&S^v&(x^S))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0,H=(e=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+e+w|0)+H+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(U^D&(M^U))+773529912|0,v=v+H|0,H=H+(z&x^S&(z^x))+(z>>>2^z>>>13^z>>>22^z<<30^z<<19^z<<10)|0,U=(f=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+f+E|0)+U+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(M^v&(D^M))+1294757372|0,S=S+U|0,U=U+(H&z^x&(H^z))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0,M=(l=(u>>>7^u>>>18^u>>>3^u<<25^u<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+l+d|0)+M+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(D^S&(v^D))+1396182291|0,x=x+M|0,M=M+(U&H^z&(U^H))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0,D=(u=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+u+C|0)+D+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(v^x&(S^v))+1695183700|0,z=z+D|0,D=D+(M&U^H&(M^U))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0,v=(p=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+p+m|0)+v+(z>>>6^z>>>11^z>>>25^z<<26^z<<21^z<<7)+(S^z&(x^S))+1986661051|0,H=H+v|0,v=v+(D&M^U&(D^M))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0,S=(_=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(u>>>17^u>>>19^u>>>10^u<<15^u<<13)+_+b|0)+S+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(x^H&(z^x))+2177026350|0,U=U+S|0,S=S+(v&D^M&(v^D))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0,x=(A=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+A+t|0)+x+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(z^U&(H^z))+2456956037|0,M=M+x|0,x=x+(S&v^D&(S^v))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0,z=(g=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+g+e|0)+z+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(H^M&(U^H))+2730485921|0,D=D+z|0,z=z+(x&S^v&(x^S))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0,H=(y=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+y+f|0)+H+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(U^D&(M^U))+2820302411|0,v=v+H|0,H=H+(z&x^S&(z^x))+(z>>>2^z>>>13^z>>>22^z<<30^z<<19^z<<10)|0,U=(w=(E>>>7^E>>>18^E>>>3^E<<25^E<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+w+l|0)+U+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(M^v&(D^M))+3259730800|0,S=S+U|0,U=U+(H&z^x&(H^z))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0,M=(E=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+E+u|0)+M+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(D^S&(v^D))+3345764771|0,x=x+M|0,M=M+(U&H^z&(U^H))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0,D=(d=(C>>>7^C>>>18^C>>>3^C<<25^C<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+d+p|0)+D+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(v^x&(S^v))+3516065817|0,z=z+D|0,D=D+(M&U^H&(M^U))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0,v=(C=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(E>>>17^E>>>19^E>>>10^E<<15^E<<13)+C+_|0)+v+(z>>>6^z>>>11^z>>>25^z<<26^z<<21^z<<7)+(S^z&(x^S))+3600352804|0,H=H+v|0,v=v+(D&M^U&(D^M))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0,S=(m=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+m+A|0)+S+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(x^H&(z^x))+4094571909|0,U=U+S|0,S=S+(v&D^M&(v^D))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0,x=(b=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(C>>>17^C>>>19^C>>>10^C<<15^C<<13)+b+g|0)+x+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(z^U&(H^z))+275423344|0,M=M+x|0,x=x+(S&v^D&(S^v))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0,z=(t=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+t+y|0)+z+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(H^M&(U^H))+430227734|0,D=D+z|0,z=z+(x&S^v&(x^S))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0,H=(e=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+e+w|0)+H+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(U^D&(M^U))+506948616|0,v=v+H|0,H=H+(z&x^S&(z^x))+(z>>>2^z>>>13^z>>>22^z<<30^z<<19^z<<10)|0,U=(f=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+f+E|0)+U+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(M^v&(D^M))+659060556|0,S=S+U|0,U=U+(H&z^x&(H^z))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0,M=(l=(u>>>7^u>>>18^u>>>3^u<<25^u<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+l+d|0)+M+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(D^S&(v^D))+883997877|0,x=x+M|0,M=M+(U&H^z&(U^H))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0,D=(u=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+u+C|0)+D+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(v^x&(S^v))+958139571|0,z=z+D|0,D=D+(M&U^H&(M^U))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0,v=(p=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+p+m|0)+v+(z>>>6^z>>>11^z>>>25^z<<26^z<<21^z<<7)+(S^z&(x^S))+1322822218|0,H=H+v|0,v=v+(D&M^U&(D^M))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0,S=(_=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(u>>>17^u>>>19^u>>>10^u<<15^u<<13)+_+b|0)+S+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(x^H&(z^x))+1537002063|0,U=U+S|0,S=S+(v&D^M&(v^D))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0,x=(A=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+A+t|0)+x+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(z^U&(H^z))+1747873779|0,M=M+x|0,x=x+(S&v^D&(S^v))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0,z=(g=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+g+e|0)+z+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(H^M&(U^H))+1955562222|0,D=D+z|0,z=z+(x&S^v&(x^S))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0,H=(y=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+y+f|0)+H+(D>>>6^D>>>11^D>>>25^D<<26^D<<21^D<<7)+(U^D&(M^U))+2024104815|0,v=v+H|0,H=H+(z&x^S&(z^x))+(z>>>2^z>>>13^z>>>22^z<<30^z<<19^z<<10)|0,U=(w=(E>>>7^E>>>18^E>>>3^E<<25^E<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+w+l|0)+U+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(M^v&(D^M))+2227730452|0,S=S+U|0,U=U+(H&z^x&(H^z))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0,M=(E=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+E+u|0)+M+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(D^S&(v^D))+2361852424|0,x=x+M|0,M=M+(U&H^z&(U^H))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0,D=(d=(C>>>7^C>>>18^C>>>3^C<<25^C<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+d+p|0)+D+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(v^x&(S^v))+2428436474|0,z=z+D|0,D=D+(M&U^H&(M^U))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0,v=(C=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(E>>>17^E>>>19^E>>>10^E<<15^E<<13)+C+_|0)+v+(z>>>6^z>>>11^z>>>25^z<<26^z<<21^z<<7)+(S^z&(x^S))+2756734187|0,H=H+v|0,v=v+(D&M^U&(D^M))+(D>>>2^D>>>13^D>>>22^D<<30^D<<19^D<<10)|0,S=(m=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+m+A|0)+S+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(x^H&(z^x))+3204031479|0,U=U+S|0,S=S+(v&D^M&(v^D))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0,x=(b=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(C>>>17^C>>>19^C>>>10^C<<15^C<<13)+b+g|0)+x+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(z^U&(H^z))+3329325298|0,M=M+x|0,x=x+(S&v^D&(S^v))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0,s=s+x|0,n=n+S|0,r=r+v|0,i=i+D|0,h=h+M|0,a=a+U|0,o=o+H|0,c=c+z|0}function H(t){U(M[0|(t|=0)]<<24|M[1|t]<<16|M[2|t]<<8|M[3|t],M[4|t]<<24|M[5|t]<<16|M[6|t]<<8|M[7|t],M[8|t]<<24|M[9|t]<<16|M[10|t]<<8|M[11|t],M[12|t]<<24|M[13|t]<<16|M[14|t]<<8|M[15|t],M[16|t]<<24|M[17|t]<<16|M[18|t]<<8|M[19|t],M[20|t]<<24|M[21|t]<<16|M[22|t]<<8|M[23|t],M[24|t]<<24|M[25|t]<<16|M[26|t]<<8|M[27|t],M[28|t]<<24|M[29|t]<<16|M[30|t]<<8|M[31|t],M[32|t]<<24|M[33|t]<<16|M[34|t]<<8|M[35|t],M[36|t]<<24|M[37|t]<<16|M[38|t]<<8|M[39|t],M[40|t]<<24|M[41|t]<<16|M[42|t]<<8|M[43|t],M[44|t]<<24|M[45|t]<<16|M[46|t]<<8|M[47|t],M[48|t]<<24|M[49|t]<<16|M[50|t]<<8|M[51|t],M[52|t]<<24|M[53|t]<<16|M[54|t]<<8|M[55|t],M[56|t]<<24|M[57|t]<<16|M[58|t]<<8|M[59|t],M[60|t]<<24|M[61|t]<<16|M[62|t]<<8|M[63|t])}function z(t){M[0|(t|=0)]=s>>>24,M[1|t]=s>>>16&255,M[2|t]=s>>>8&255,M[3|t]=255&s,M[4|t]=n>>>24,M[5|t]=n>>>16&255,M[6|t]=n>>>8&255,M[7|t]=255&n,M[8|t]=r>>>24,M[9|t]=r>>>16&255,M[10|t]=r>>>8&255,M[11|t]=255&r,M[12|t]=i>>>24,M[13|t]=i>>>16&255,M[14|t]=i>>>8&255,M[15|t]=255&i,M[16|t]=h>>>24,M[17|t]=h>>>16&255,M[18|t]=h>>>8&255,M[19|t]=255&h,M[20|t]=a>>>24,M[21|t]=a>>>16&255,M[22|t]=a>>>8&255,M[23|t]=255&a,M[24|t]=o>>>24,M[25|t]=o>>>16&255,M[26|t]=o>>>8&255,M[27|t]=255&o,M[28|t]=c>>>24,M[29|t]=c>>>16&255,M[30|t]=c>>>8&255,M[31|t]=255&c}function T(){s=1779033703,n=3144134277,r=1013904242,i=2773480762,h=1359893119,a=2600822924,o=528734635,c=1541459225,f=l=0}function P(t,e){e|=0;let s=0;if(63&(t|=0))return-1;for(;(0|e)>=64;)H(t),t=t+64|0,e=e-64|0,s=s+64|0;return f=f+s|0,f>>>0<s>>>0&&(l=l+1|0),0|s}function B(t,e,s){let n=0,r=0;if(63&(t|=0))return-1;if(~(s|=0)&&31&s)return-1;if((0|(e|=0))>=64){if(n=0|P(t,e),-1==(0|n))return-1;t=t+n|0,e=e-n|0}if(n=n+e|0,f=f+e|0,f>>>0<e>>>0&&(l=l+1|0),M[t|e]=128,(0|e)>=56){for(r=e+1|0;(0|r)<64;r=r+1|0)M[t|r]=0;H(t),e=0,M[0|t]=0}for(r=e+1|0;(0|r)<59;r=r+1|0)M[t|r]=0;return M[56|t]=l>>>21&255,M[57|t]=l>>>13&255,M[58|t]=l>>>5&255,M[59|t]=l<<3&255|f>>>29,M[60|t]=f>>>21&255,M[61|t]=f>>>13&255,M[62|t]=f>>>5&255,M[63|t]=f<<3&255,H(t),~s&&z(s),0|n}function k(){s=u,n=p,r=_,i=A,h=g,a=y,o=w,c=E,f=64,l=0}function I(){s=d,n=C,r=m,i=b,h=x,a=S,o=v,c=D,f=64,l=0}function R(t,e,f){let l=0,u=0,p=0,_=0,A=0,g=0,y=0,w=0,E=0;return 63&(t|=0)||~(f|=0)&&31&f?-1:(E=0|B(t,e|=0,-1),l=s,u=n,p=r,_=i,A=h,g=a,y=o,w=c,I(),U(l,u,p,_,A,g,y,w,2147483648,0,0,0,0,0,0,768),~f&&z(f),0|E)}return{reset:T,init:function(t,e,u,p,_,A,g,y,w,E){s=t|=0,n=e|=0,r=u|=0,i=p|=0,h=_|=0,a=A|=0,o=g|=0,c=y|=0,f=w|=0,l=E|=0},process:P,finish:B,hmac_reset:k,hmac_init:function(t,e,M,H,z,P,B,k,I,R,G,N,L,O,Z,K){t|=0,e|=0,M|=0,H|=0,z|=0,P|=0,B|=0,k|=0,I|=0,R|=0,G|=0,N|=0,L|=0,O|=0,Z|=0,K|=0,T(),U(1549556828^t,1549556828^e,1549556828^M,1549556828^H,1549556828^z,1549556828^P,1549556828^B,1549556828^k,1549556828^I,1549556828^R,1549556828^G,1549556828^N,1549556828^L,1549556828^O,1549556828^Z,1549556828^K),d=s,C=n,m=r,b=i,x=h,S=a,v=o,D=c,T(),U(909522486^t,909522486^e,909522486^M,909522486^H,909522486^z,909522486^P,909522486^B,909522486^k,909522486^I,909522486^R,909522486^G,909522486^N,909522486^L,909522486^O,909522486^Z,909522486^K),u=s,p=n,_=r,A=i,g=h,y=a,w=o,E=c,f=64,l=0},hmac_finish:R,pbkdf2_generate_block:function(t,e,f,l,u){f|=0,l|=0;let p=0,_=0,A=0,g=0,y=0,w=0,E=0,d=0,C=0,m=0,b=0,x=0,S=0,v=0,D=0,H=0;if(63&(t|=0))return-1;if(~(u|=0)&&31&u)return-1;for(M[t+(e|=0)|0]=f>>>24,M[t+e+1|0]=f>>>16&255,M[t+e+2|0]=f>>>8&255,M[t+e+3|0]=255&f,R(t,e+4|0,-1),p=C=s,_=m=n,A=b=r,g=x=i,y=S=h,w=v=a,E=D=o,d=H=c,l=l-1|0;(0|l)>0;)k(),U(C,m,b,x,S,v,D,H,2147483648,0,0,0,0,0,0,768),C=s,m=n,b=r,x=i,S=h,v=a,D=o,H=c,I(),U(C,m,b,x,S,v,D,H,2147483648,0,0,0,0,0,0,768),C=s,m=n,b=r,x=i,S=h,v=a,D=o,H=c,p^=s,_^=n,A^=r,g^=i,y^=h,w^=a,E^=o,d^=c,l=l-1|0;return s=p,n=_,r=A,i=g,h=y,a=w,o=E,c=d,~u&&z(u),0}}}(0,this.heap.buffer),this.reset()}}S.NAME="sha256";class v{constructor(t,e,s){if(!t.HASH_SIZE)throw new SyntaxError("option 'hash' supplied doesn't seem to be a valid hash function");this.hash=t,this.BLOCK_SIZE=this.hash.BLOCK_SIZE,this.HMAC_SIZE=this.hash.HASH_SIZE,this.result=null,this.key=function(t,e){const s=new Uint8Array(t.BLOCK_SIZE);e.length>t.BLOCK_SIZE?s.set(t.reset().process(e).finish().result):s.set(e);return s}(this.hash,e);const n=new Uint8Array(this.key);for(let t=0;t<n.length;++t)n[t]^=54;this.hash.reset().process(n),void 0!==s?this._hmac_init_verify(s):this.verify=null}process(e){if(null!==this.result)throw new t("state must be reset before processing new data");return this.hash.process(e),this}finish(){if(null!==this.result)throw new t("state must be reset before processing new data");const e=this.hash.finish().result,s=new Uint8Array(this.key);for(let t=0;t<s.length;++t)s[t]^=92;const n=this.verify,r=this.hash.reset().process(s).process(e).finish().result;if(n){if(n.length!==r.length)throw new Error("HMAC verification failed, lengths doesn't match");{let t=0;for(let e=0;e<n.length;e++)t|=n[e]^r[e];if(0!==t)throw new Error("HMAC verification failed, hash value doesn't match")}}return this.result=r,this}_hmac_init_verify(t){if(t.length!==this.HMAC_SIZE)throw new e("illegal verification tag size");this.verify=t}}class D extends v{static sha(t,e,s){return new D(e,s).process(t).finish().result}constructor(t,e){return super(new x,t,e),this.reset(),void 0!==e?this._hmac_init_verify(e):this.verify=null,this}reset(){this.result=null;const t=this.key;return this.hash.reset().asm.hmac_init(t[0]<<24|t[1]<<16|t[2]<<8|t[3],t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[8]<<24|t[9]<<16|t[10]<<8|t[11],t[12]<<24|t[13]<<16|t[14]<<8|t[15],t[16]<<24|t[17]<<16|t[18]<<8|t[19],t[20]<<24|t[21]<<16|t[22]<<8|t[23],t[24]<<24|t[25]<<16|t[26]<<8|t[27],t[28]<<24|t[29]<<16|t[30]<<8|t[31],t[32]<<24|t[33]<<16|t[34]<<8|t[35],t[36]<<24|t[37]<<16|t[38]<<8|t[39],t[40]<<24|t[41]<<16|t[42]<<8|t[43],t[44]<<24|t[45]<<16|t[46]<<8|t[47],t[48]<<24|t[49]<<16|t[50]<<8|t[51],t[52]<<24|t[53]<<16|t[54]<<8|t[55],t[56]<<24|t[57]<<16|t[58]<<8|t[59],t[60]<<24|t[61]<<16|t[62]<<8|t[63]),this}finish(){if(null!==this.result)throw new t("state must be reset before processing new data");const e=this.hash,s=this.hash.asm,n=this.hash.heap;s.hmac_finish(e.pos,e.len,0);const r=this.verify,i=new Uint8Array(20);if(i.set(n.subarray(0,20)),r){if(r.length!==i.length)throw new Error("HMAC verification failed, lengths doesn't match");{let t=0;for(let e=0;e<r.length;e++)t|=r[e]^i[e];if(0!==t)throw new Error("HMAC verification failed, hash value doesn't match")}}else this.result=i;return this}}class M extends v{static sha(t,e,s){return new M(e,s).process(t).finish().result}constructor(t,e){return super(new S,t,e),this.reset(),void 0!==e?this._hmac_init_verify(e):this.verify=null,this}reset(){const t=this.key;return this.hash.reset().asm.hmac_init(t[0]<<24|t[1]<<16|t[2]<<8|t[3],t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[8]<<24|t[9]<<16|t[10]<<8|t[11],t[12]<<24|t[13]<<16|t[14]<<8|t[15],t[16]<<24|t[17]<<16|t[18]<<8|t[19],t[20]<<24|t[21]<<16|t[22]<<8|t[23],t[24]<<24|t[25]<<16|t[26]<<8|t[27],t[28]<<24|t[29]<<16|t[30]<<8|t[31],t[32]<<24|t[33]<<16|t[34]<<8|t[35],t[36]<<24|t[37]<<16|t[38]<<8|t[39],t[40]<<24|t[41]<<16|t[42]<<8|t[43],t[44]<<24|t[45]<<16|t[46]<<8|t[47],t[48]<<24|t[49]<<16|t[50]<<8|t[51],t[52]<<24|t[53]<<16|t[54]<<8|t[55],t[56]<<24|t[57]<<16|t[58]<<8|t[59],t[60]<<24|t[61]<<16|t[62]<<8|t[63]),this}finish(){if(null===this.key)throw new t("no key is associated with the instance");if(null!==this.result)throw new t("state must be reset before processing new data");const e=this.hash,s=this.hash.asm,n=this.hash.heap;s.hmac_finish(e.pos,e.len,0);const r=this.verify,i=new Uint8Array(32);if(i.set(n.subarray(0,32)),r){if(r.length!==i.length)throw new Error("HMAC verification failed, lengths doesn't match");{let t=0;for(let e=0;e<r.length;e++)t|=r[e]^i[e];if(0!==t)throw new Error("HMAC verification failed, hash value doesn't match")}}else this.result=i;return this}}const U=BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),H=BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),z=BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),T=BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),P=BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),B=BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"),k=BigInt(0),I=BigInt(1),R=BigInt(2),G=BigInt(3),N={x:I,y:I,z:k},L=(t,e=U)=>{const s=t%e;return s>=k?s:s+e},O=t=>{if(t.z===k)return N;const e=L(t.y*t.y),s=L(BigInt(4)*t.x*e),n=L(G*t.x*t.x+H*t.z*t.z*t.z*t.z),r=L(n*n-R*s);return{x:r,y:L(n*(s-r)-BigInt(8)*e*e),z:L(R*t.y*t.z)}},Z=(t,e)=>{if(t.z===k)return e;if(e.z===k)return t;const s=L(t.x*e.z*e.z),n=L(e.x*t.z*t.z),r=L(t.y*e.z*e.z*e.z),i=L(e.y*t.z*t.z*t.z);if(s===n)return r!==i?N:O(t);const h=L(n-s),a=L(i-r),o=L(h*h),c=L(h*o),f=L(s*o),l=L(a*a-c-R*f);return{x:l,y:L(a*(f-l)-r*c),z:L(h*t.z*e.z)}},K=t=>{if(t.z===k)throw new Error("point at infinity");const e=((t,e=U)=>{if(t===k)throw new Error("inverse of zero");let s=I,n=k,r=L(t,e),i=e;for(;r>I;){const t=i/r,e=n-s*t,h=i-r*t;n=s,i=r,s=e,r=h}return L(s,e)})(t.z),s=L(e*e),n=L(s*e);return{x:L(t.x*s),y:L(t.y*n)}},V=(t,e)=>{let s=L(t,T);if(s===k)throw new Error("scalar is zero");let n=N,r={x:(i=e).x,y:i.y,z:I};for(var i;s>k;)s&I&&(n=Z(n,r)),r=O(r),s>>=I;return K(n)},F=(t,e=32)=>{const s=new Uint8Array(e);let n=t;for(let t=e-1;t>=0;t--)s[t]=Number(n&BigInt(255)),n>>=BigInt(8);if(n!==k)throw new Error("bigint exceeds fixed byte size");return s},j=t=>{let e=k;for(let s=0;s<t.length;s++)e=e<<BigInt(8)|BigInt(t[s]);return e},X=t=>L(t.y*t.y)===L(t.x*t.x*t.x+H*t.x+z),Y=t=>t>k&&t<T,q=t=>{if(32!==t.length)throw new Error("private key must be 32 bytes");const e=j(t);if(!Y(e))throw new Error("invalid private key");const s=V(e,{x:P,y:B}),n=new Uint8Array(65);return n[0]=4,n.set(F(s.x,32),1),n.set(F(s.y,32),33),n},J=t=>{if(65!==t.length||4!==t[0])throw new Error("public key must be 65-byte uncompressed (0x04 || X || Y)");const e=j(t.subarray(1,33)),s=j(t.subarray(33,65));if(e>=U||s>=U)throw new Error("public key coordinate out of field range");const n={x:e,y:s};if(!X(n))throw new Error("public key is not on P-256 curve");return n};exports.AES=w,exports.AES_CBC=C,exports.AES_CCM=m,exports.AES_ECB=d,exports.AES_GCM=E,exports.ECDH_CURVE_SECP256R1="secp256r1",exports.HmacSha1=D,exports.HmacSha256=M,exports.IllegalArgumentError=e,exports.IllegalStateError=t,exports.SecurityError=s,exports.Sha1=x,exports.Sha256=S,exports._sha1_block_size=64,exports._sha1_hash_size=20,exports._sha256_block_size=64,exports._sha256_hash_size=32,exports.deriveEcdhSharedSecret=(t,e)=>((t,e)=>{if(32!==t.length)throw new Error("private key must be 32 bytes");const s=j(t);if(!Y(s))throw new Error("invalid private key");const n=J(e),r=V(s,n);if(!X(r))throw new Error("derived shared point is not on curve");return F(r.x,32)})(t,e),exports.generateEcdhKeyPair=t=>{const e=(t=>{if(32!==t.length)throw new Error("random seed must be 32 bytes");const e=j(t);if(!Y(e))throw new Error("invalid scalar for P-256, try another random seed");return F(e,32)})(t);return{privateKey:e,publicKey:q(e)}},exports.parseUncompressedPublicKey=J,exports.publicKeyFromPrivate=q;
@@ -0,0 +1,8 @@
1
+ export declare const ECDH_CURVE_SECP256R1 = "secp256r1";
2
+ export interface EcdhKeyPair {
3
+ privateKey: Uint8Array;
4
+ publicKey: Uint8Array;
5
+ }
6
+ export declare const generateEcdhKeyPair: (randomBytes32: Uint8Array) => EcdhKeyPair;
7
+ export declare const deriveEcdhSharedSecret: (privateKey: Uint8Array, peerPublicKey: Uint8Array) => Uint8Array;
8
+ export { publicKeyFromPrivate, parseUncompressedPublicKey } from './p256';
@@ -0,0 +1,12 @@
1
+ declare type P = bigint;
2
+ declare const P: P;
3
+ interface APoint {
4
+ x: P;
5
+ y: P;
6
+ }
7
+ export declare const isValidPrivateKey: (d: P) => boolean;
8
+ export declare const derivePrivateKeyFromRandom: (randomBytes32: Uint8Array) => Uint8Array;
9
+ export declare const publicKeyFromPrivate: (privateKey32: Uint8Array) => Uint8Array;
10
+ export declare const parseUncompressedPublicKey: (pub: Uint8Array) => APoint;
11
+ export declare const ecdhSharedSecret: (privateKey32: Uint8Array, peerPublicKey65: Uint8Array) => Uint8Array;
12
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ray-js/wechat-tycrypto",
3
- "version": "0.3.31-beta.2",
3
+ "version": "0.3.31-beta.3",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org"