forked from openpgpjs/asmcrypto.js
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathasmcrypto.all.es5.min.js
1 lines (1 loc) · 187 KB
/
asmcrypto.all.es5.min.js
1
var asmCrypto=function(f){"use strict";var t="undefined"==typeof atob?function(f){return require("buffer").Buffer.from(f,"base64").toString("binary")}:atob,e="undefined"==typeof btoa?function(f){return require("buffer").Buffer.from(f,"binary").toString("base64")}:btoa;function r(f,t){void 0===t&&(t=!1);for(var e=f.length,r=new Uint8Array(t?4*e:e),n=0,i=0;n<e;n++){var s=f.charCodeAt(n);if(t&&55296<=s&&s<=56319){if(++n>=e)throw new Error("Malformed string, low surrogate expected at position "+n);s=(55296^s)<<10|65536|56320^f.charCodeAt(n)}else if(!t&&s>>>8)throw new Error("Wide characters are not allowed.");!t||s<=127?r[i++]=s:(s<=2047?r[i++]=192|s>>6:(s<=65535?r[i++]=224|s>>12:(r[i++]=240|s>>18,r[i++]=128|s>>12&63),r[i++]=128|s>>6&63),r[i++]=128|63&s)}return r.subarray(0,i)}function n(f){var t=f.length;1&t&&(f="0"+f,t++);for(var e=new Uint8Array(t>>1),r=0;r<t;r+=2)e[r>>1]=parseInt(f.substr(r,2),16);return e}function i(f){return r(t(f))}function s(f,t){void 0===t&&(t=!1);for(var e=f.length,r=new Array(e),n=0,i=0;n<e;n++){var s=f[n];if(!t||s<128)r[i++]=s;else if(192<=s&&s<224&&n+1<e)r[i++]=(31&s)<<6|63&f[++n];else if(224<=s&&s<240&&n+2<e)r[i++]=(15&s)<<12|(63&f[++n])<<6|63&f[++n];else{if(!(240<=s&&s<248&&n+3<e))throw new Error("Malformed UTF8 character at byte offset "+n);var a=(7&s)<<18|(63&f[++n])<<12|(63&f[++n])<<6|63&f[++n];a<=65535?r[i++]=a:(a^=65536,r[i++]=55296|a>>10,r[i++]=56320|1023&a)}}var o="",c=16384;for(n=0;n<i;n+=c)o+=String.fromCharCode.apply(String,r.slice(n,n+c<=i?n+c:i));return o}function a(f){for(var t="",e=0;e<f.length;e++){var r=(255&f[e]).toString(16);r.length<2&&(t+="0"),t+=r}return t}function o(f){return e(s(f))}function l(f){return f instanceof Uint8Array}function c(f,t){var e=f?f.byteLength:t||65536;if(4095&e||e<=0)throw new Error("heap size must be a positive integer and a multiple of 4096");return f=f||new Uint8Array(new ArrayBuffer(e)),f}function y(f,t,e,r,n){var i=f.length-t,s=i<n?i:n;return f.set(e.subarray(r,r+s),t),s}function x(){for(var f=[],t=0;t<arguments.length;t++)f[t]=arguments[t];for(var e=f.reduce(function(f,t){return f+t.length},0),r=new Uint8Array(e),n=0,i=0;i<f.length;i++)r.set(f[i],n),n+=f[i].length;return r}var h=function(){var r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(f,t){f.__proto__=t}||function(f,t){for(var e in t)t.hasOwnProperty(e)&&(f[e]=t[e])};return function(f,t){function e(){this.constructor=f}r(f,t),f.prototype=null===t?Object.create(t):(e.prototype=t.prototype,new e)}}(),b=function(r){function f(){for(var f=[],t=0;t<arguments.length;t++)f[t]=arguments[t];var e=r.apply(this,f)||this;return e}return h(f,r),f}(Error),g=function(r){function f(){for(var f=[],t=0;t<arguments.length;t++)f[t]=arguments[t];var e=r.apply(this,f)||this;return e}return h(f,r),f}(Error),v=function(r){function f(){for(var f=[],t=0;t<arguments.length;t++)f[t]=arguments[t];var e=r.apply(this,f)||this;return e}return h(f,r),f}(Error),_=function(){var r,n,i=!1;function s(){r=[],n=[];var f,t,e=1;for(f=0;f<255;f++)r[f]=e,t=128&e,e<<=1,e&=255,128===t&&(e^=27),e^=r[f],n[r[f]]=f;r[255]=r[0],n[0]=0,i=!0}function a(f,t){var e=r[(n[f]+n[t])%255];return 0!==f&&0!==t||(e=0),e}function o(f){var t=r[255-n[f]];return 0===f&&(t=0),t}var g,c,x,v,h=!1;function u(){function f(f){var t,e,r;for(e=r=o(f),t=0;t<4;t++)e=255&(e<<1|e>>>7),r^=e;return r^=99,r}i||s(),g=[],c=[],x=[[],[],[],[]],v=[[],[],[],[]];for(var t=0;t<256;t++){var e=f(t);g[t]=e,c[e]=t,x[0][t]=a(2,e)<<24|e<<16|e<<8|a(3,e),v[0][e]=a(14,t)<<24|a(9,t)<<16|a(13,t)<<8|a(11,t);for(var r=1;r<4;r++)x[r][t]=x[r-1][t]>>>8|x[r-1][t]<<24,v[r][e]=v[r-1][e]>>>8|v[r-1][e]<<24}h=!0}var f=function(f,t){h||u();var b=new Uint32Array(t);b.set(g,512),b.set(c,768);for(var e=0;e<4;e++)b.set(x[e],4096+1024*e>>2),b.set(v[e],8192+1024*e>>2);function r(f,t,e,r,n,i,s,a,o){var c=b.subarray(0,60),x=b.subarray(256,316);c.set([t,e,r,n,i,s,a,o]);for(var h=f,u=1;h<4*f+28;h++){var p=c[h-1];(h%f==0||8===f&&h%f==4)&&(p=g[p>>>24]<<24^g[p>>>16&255]<<16^g[p>>>8&255]<<8^g[255&p]),h%f==0&&(p=p<<8^p>>>24^u<<24,u=u<<1^(128&u?27:0)),c[h]=c[h-f]^p}for(var l=0;l<h;l+=4)for(var y=0;y<4;y++){p=c[h-(4+l)+(4-y)%4];x[l+y]=l<4||h-4<=l?p:v[0][g[p>>>24]]^v[1][g[p>>>16&255]]^v[2][g[p>>>8&255]]^v[3][g[255&p]]}_.set_rounds(f+5)}var n={Uint8Array:Uint8Array,Uint32Array:Uint32Array},_=function(f,t,e){"use asm";var b=0,_=0,g=0,v=0,l=0,y=0,d=0,w=0,n=0,i=0,s=0,a=0,o=0,c=0,x=0,h=0,A=0,m=0,E=0,C=0,u=0;var S=new f.Uint32Array(e),p=new f.Uint8Array(e);function M(f,t,e,r,n,i,s,a){f=f|0;t=t|0;e=e|0;r=r|0;n=n|0;i=i|0;s=s|0;a=a|0;var o=0,c=0,x=0,h=0,u=0,p=0,l=0,y=0;o=e|0x400,c=e|0x800,x=e|0xc00;n=n^S[(f|0)>>2],i=i^S[(f|4)>>2],s=s^S[(f|8)>>2],a=a^S[(f|12)>>2];for(y=16;(y|0)<=r<<4;y=y+16|0){h=S[(e|n>>22&1020)>>2]^S[(o|i>>14&1020)>>2]^S[(c|s>>6&1020)>>2]^S[(x|a<<2&1020)>>2]^S[(f|y|0)>>2],u=S[(e|i>>22&1020)>>2]^S[(o|s>>14&1020)>>2]^S[(c|a>>6&1020)>>2]^S[(x|n<<2&1020)>>2]^S[(f|y|4)>>2],p=S[(e|s>>22&1020)>>2]^S[(o|a>>14&1020)>>2]^S[(c|n>>6&1020)>>2]^S[(x|i<<2&1020)>>2]^S[(f|y|8)>>2],l=S[(e|a>>22&1020)>>2]^S[(o|n>>14&1020)>>2]^S[(c|i>>6&1020)>>2]^S[(x|s<<2&1020)>>2]^S[(f|y|12)>>2];n=h,i=u,s=p,a=l}b=S[(t|n>>22&1020)>>2]<<24^S[(t|i>>14&1020)>>2]<<16^S[(t|s>>6&1020)>>2]<<8^S[(t|a<<2&1020)>>2]^S[(f|y|0)>>2],_=S[(t|i>>22&1020)>>2]<<24^S[(t|s>>14&1020)>>2]<<16^S[(t|a>>6&1020)>>2]<<8^S[(t|n<<2&1020)>>2]^S[(f|y|4)>>2],g=S[(t|s>>22&1020)>>2]<<24^S[(t|a>>14&1020)>>2]<<16^S[(t|n>>6&1020)>>2]<<8^S[(t|i<<2&1020)>>2]^S[(f|y|8)>>2],v=S[(t|a>>22&1020)>>2]<<24^S[(t|n>>14&1020)>>2]<<16^S[(t|i>>6&1020)>>2]<<8^S[(t|s<<2&1020)>>2]^S[(f|y|12)>>2]}function r(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;M(0x0000,0x0800,0x1000,u,f,t,e,r)}function U(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;var n=0;M(0x0400,0x0c00,0x2000,u,f,r,e,t);n=_,_=v,v=n}function O(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;M(0x0000,0x0800,0x1000,u,l^f,y^t,d^e,w^r);l=b,y=_,d=g,w=v}function H(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;var n=0;M(0x0400,0x0c00,0x2000,u,f,r,e,t);n=_,_=v,v=n;b=b^l,_=_^y,g=g^d,v=v^w;l=f,y=t,d=e,w=r}function L(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;M(0x0000,0x0800,0x1000,u,l,y,d,w);l=b=b^f,y=_=_^t,d=g=g^e,w=v=v^r}function k(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;M(0x0000,0x0800,0x1000,u,l,y,d,w);b=b^f,_=_^t,g=g^e,v=v^r;l=f,y=t,d=e,w=r}function P(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;M(0x0000,0x0800,0x1000,u,l,y,d,w);l=b,y=_,d=g,w=v;b=b^f,_=_^t,g=g^e,v=v^r}function D(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;M(0x0000,0x0800,0x1000,u,n,i,s,a);a=~h&a|h&a+1;s=~x&s|x&s+((a|0)==0);i=~c&i|c&i+((s|0)==0);n=~o&n|o&n+((i|0)==0);b=b^f;_=_^t;g=g^e;v=v^r}function R(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;var n=0,i=0,s=0,a=0,o=0,c=0,x=0,h=0,u=0,p=0;f=f^l,t=t^y,e=e^d,r=r^w;n=A|0,i=m|0,s=E|0,a=C|0;for(;(u|0)<128;u=u+1|0){if(n>>>31){o=o^f,c=c^t,x=x^e,h=h^r}n=n<<1|i>>>31,i=i<<1|s>>>31,s=s<<1|a>>>31,a=a<<1;p=r&1;r=r>>>1|e<<31,e=e>>>1|t<<31,t=t>>>1|f<<31,f=f>>>1;if(p)f=f^0xe1000000}l=o,y=c,d=x,w=h}function T(f){f=f|0;u=f}function Z(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;b=f,_=t,g=e,v=r}function B(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;l=f,y=t,d=e,w=r}function I(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;n=f,i=t,s=e,a=r}function z(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;o=f,c=t,x=e,h=r}function G(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;a=~h&a|h&r,s=~x&s|x&e,i=~c&i|c&t,n=~o&n|o&f}function N(f){f=f|0;if(f&15)return-1;p[f|0]=b>>>24,p[f|1]=b>>>16&255,p[f|2]=b>>>8&255,p[f|3]=b&255,p[f|4]=_>>>24,p[f|5]=_>>>16&255,p[f|6]=_>>>8&255,p[f|7]=_&255,p[f|8]=g>>>24,p[f|9]=g>>>16&255,p[f|10]=g>>>8&255,p[f|11]=g&255,p[f|12]=v>>>24,p[f|13]=v>>>16&255,p[f|14]=v>>>8&255,p[f|15]=v&255;return 16}function j(f){f=f|0;if(f&15)return-1;p[f|0]=l>>>24,p[f|1]=l>>>16&255,p[f|2]=l>>>8&255,p[f|3]=l&255,p[f|4]=y>>>24,p[f|5]=y>>>16&255,p[f|6]=y>>>8&255,p[f|7]=y&255,p[f|8]=d>>>24,p[f|9]=d>>>16&255,p[f|10]=d>>>8&255,p[f|11]=d&255,p[f|12]=w>>>24,p[f|13]=w>>>16&255,p[f|14]=w>>>8&255,p[f|15]=w&255;return 16}function q(){r(0,0,0,0);A=b,m=_,E=g,C=v}function F(f,t,e){f=f|0;t=t|0;e=e|0;var r=0;if(t&15)return-1;while((e|0)>=16){K[f&7](p[t|0]<<24|p[t|1]<<16|p[t|2]<<8|p[t|3],p[t|4]<<24|p[t|5]<<16|p[t|6]<<8|p[t|7],p[t|8]<<24|p[t|9]<<16|p[t|10]<<8|p[t|11],p[t|12]<<24|p[t|13]<<16|p[t|14]<<8|p[t|15]);p[t|0]=b>>>24,p[t|1]=b>>>16&255,p[t|2]=b>>>8&255,p[t|3]=b&255,p[t|4]=_>>>24,p[t|5]=_>>>16&255,p[t|6]=_>>>8&255,p[t|7]=_&255,p[t|8]=g>>>24,p[t|9]=g>>>16&255,p[t|10]=g>>>8&255,p[t|11]=g&255,p[t|12]=v>>>24,p[t|13]=v>>>16&255,p[t|14]=v>>>8&255,p[t|15]=v&255;r=r+16|0,t=t+16|0,e=e-16|0}return r|0}function V(f,t,e){f=f|0;t=t|0;e=e|0;var r=0;if(t&15)return-1;while((e|0)>=16){W[f&1](p[t|0]<<24|p[t|1]<<16|p[t|2]<<8|p[t|3],p[t|4]<<24|p[t|5]<<16|p[t|6]<<8|p[t|7],p[t|8]<<24|p[t|9]<<16|p[t|10]<<8|p[t|11],p[t|12]<<24|p[t|13]<<16|p[t|14]<<8|p[t|15]);r=r+16|0,t=t+16|0,e=e-16|0}return r|0}var K=[r,U,O,H,L,k,P,D];var W=[O,R];return{set_rounds:T,set_state:Z,set_iv:B,set_nonce:I,set_mask:z,set_counter:G,get_state:N,get_iv:j,gcm_init:q,cipher:F,mac:V}}(n,f,t);return _.set_key=r,_};return f.ENC={ECB:0,CBC:2,CFB:4,OFB:6,CTR:7},f.DEC={ECB:1,CBC:3,CFB:5,OFB:6,CTR:7},f.MAC={CBC:0,GCM:1},f.HEAP_DATA=16384,f}(),u=[],p=[],d=function(){function f(f,t,e,r){void 0===e&&(e=!0),this.pos=0,this.len=0,this.mode=r,this.pos=0,this.len=0,this.key=f,this.iv=t,this.padding=e,this.acquire_asm()}return f.prototype.acquire_asm=function(){void 0===this.heap&&void 0===this.asm&&(this.heap=u.pop()||c().subarray(_.HEAP_DATA),this.asm=p.pop()||_(null,this.heap.buffer),this.reset(this.key,this.iv))},f.prototype.release_asm=function(){u.push(this.heap),p.push(this.asm),this.heap=void 0,this.asm=void 0},f.prototype.reset=function(f,t){var e=f.length;if(16!==e&&24!==e&&32!==e)throw new g("illegal key size");var r=new DataView(f.buffer,f.byteOffset,f.byteLength);if(this.asm.set_key(e>>2,r.getUint32(0),r.getUint32(4),r.getUint32(8),r.getUint32(12),16<e?r.getUint32(16):0,16<e?r.getUint32(20):0,24<e?r.getUint32(24):0,24<e?r.getUint32(28):0),void 0!==t){if(16!==t.length)throw new g("illegal iv size");var n=new DataView(t.buffer,t.byteOffset,t.byteLength);this.asm.set_iv(n.getUint32(0),n.getUint32(4),n.getUint32(8),n.getUint32(12))}else this.asm.set_iv(0,0,0,0)},f.prototype.AES_Encrypt_process=function(f){if(!l(f))throw new TypeError("data isn't of expected type");this.acquire_asm();for(var t=this.asm,e=this.heap,r=_.ENC[this.mode],n=_.HEAP_DATA,i=this.pos,s=this.len,a=0,o=f.length||0,c=0,x=s+o&-16,h=0,u=new Uint8Array(x);0<o;)h=y(e,i+s,f,a,o),s+=h,a+=h,o-=h,h=t.cipher(r,n+i,s),h&&u.set(e.subarray(i,i+h),c),c+=h,h<s?(i+=h,s-=h):(i=0,s=0);return this.pos=i,this.len=s,u},f.prototype.AES_Encrypt_finish=function(){this.acquire_asm();var f=this.asm,t=this.heap,e=_.ENC[this.mode],r=_.HEAP_DATA,n=this.pos,i=this.len,s=16-i%16,a=i;if(this.hasOwnProperty("padding")){if(this.padding){for(var o=0;o<s;++o)t[n+i+o]=s;i+=s,a=i}else if(i%16)throw new g("data length must be a multiple of the block size")}else i+=s;var c=new Uint8Array(a);return i&&f.cipher(e,r+n,i),a&&c.set(t.subarray(n,n+a)),this.pos=0,this.len=0,this.release_asm(),c},f.prototype.AES_Decrypt_process=function(f){if(!l(f))throw new TypeError("data isn't of expected type");this.acquire_asm();var t=this.asm,e=this.heap,r=_.DEC[this.mode],n=_.HEAP_DATA,i=this.pos,s=this.len,a=0,o=f.length||0,c=0,x=s+o&-16,h=0,u=0;this.padding&&(h=s+o-x||16,x-=h);for(var p=new Uint8Array(x);0<o;)u=y(e,i+s,f,a,o),s+=u,a+=u,o-=u,u=t.cipher(r,n+i,s-(o?0:h)),u&&p.set(e.subarray(i,i+u),c),c+=u,u<s?(i+=u,s-=u):(i=0,s=0);return this.pos=i,this.len=s,p},f.prototype.AES_Decrypt_finish=function(){this.acquire_asm();var f=this.asm,t=this.heap,e=_.DEC[this.mode],r=_.HEAP_DATA,n=this.pos,i=this.len,s=i;if(0<i){if(i%16){if(this.hasOwnProperty("padding"))throw new g("data length must be a multiple of the block size");i+=16-i%16}if(f.cipher(e,r+n,i),this.hasOwnProperty("padding")&&this.padding){var a=t[n+s-1];if(a<1||16<a||s<a)throw new v("bad padding");for(var o=0,c=a;1<c;c--)o|=a^t[n+s-c];if(o)throw new v("bad padding");s-=a}}var x=new Uint8Array(s);return 0<s&&x.set(t.subarray(n,n+s)),this.pos=0,this.len=0,this.release_asm(),x},f}(),w=function(){var r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(f,t){f.__proto__=t}||function(f,t){for(var e in t)t.hasOwnProperty(e)&&(f[e]=t[e])};return function(f,t){function e(){this.constructor=f}r(f,t),f.prototype=null===t?Object.create(t):(e.prototype=t.prototype,new e)}}(),A=function(r){function n(f,t,e){return void 0===e&&(e=!0),r.call(this,f,t,e,"CBC")||this}return w(n,r),n.encrypt=function(f,t,e,r){return void 0===e&&(e=!0),new n(t,r,e).encrypt(f)},n.decrypt=function(f,t,e,r){return void 0===e&&(e=!0),new n(t,r,e).decrypt(f)},n.prototype.encrypt=function(f){var t=this.AES_Encrypt_process(f),e=this.AES_Encrypt_finish();return x(t,e)},n.prototype.decrypt=function(f){var t=this.AES_Decrypt_process(f),e=this.AES_Decrypt_finish();return x(t,e)},n}(d),m=function(){var r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(f,t){f.__proto__=t}||function(f,t){for(var e in t)t.hasOwnProperty(e)&&(f[e]=t[e])};return function(f,t){function e(){this.constructor=f}r(f,t),f.prototype=null===t?Object.create(t):(e.prototype=t.prototype,new e)}}(),E=65279,C=0xffffffffffff0,S=function(s){function i(f,t,e,r,n){void 0===r&&(r=16);var i=s.call(this,f,void 0,void 0,"CCM")||this;if(i.counter=1,i.dataLength=-1,r<4||16<r||1&r)throw new g("illegal tagSize value");if(i.tagSize=r,i.nonce=t,t.length<8||13<t.length)throw new g("illegal nonce length");if(i.lengthSize=15-t.length,t=new Uint8Array(t.length+1),t[0]=i.lengthSize-1,t.set(i.nonce,1),n<0||C<n||n>Math.pow(2,8*i.lengthSize)-16)throw new g("illegal dataLength value");if(void 0!==e){if(e.length>E)throw new g("illegal adata length");i.adata=e.length?e:void 0}return i.dataLength=n,i.counter=1,i.AES_CCM_calculate_iv(),i.AES_CTR_set_options(t,i.counter,8*i.lengthSize),i}return m(i,s),i.encrypt=function(f,t,e,r,n){return void 0===n&&(n=16),new i(t,e,r,n,f.length).encrypt(f)},i.decrypt=function(f,t,e,r,n){return void 0===n&&(n=16),new i(t,e,r,n,f.length-n).decrypt(f)},i.prototype.encrypt=function(f){this.dataLength=f.length||0;var t=this.AES_CCM_Encrypt_process(f),e=this.AES_CCM_Encrypt_finish(),r=new Uint8Array(t.length+e.length);return t.length&&r.set(t),e.length&&r.set(e,t.length),r},i.prototype.decrypt=function(f){this.dataLength=f.length||0;var t=this.AES_CCM_Decrypt_process(f),e=this.AES_CCM_Decrypt_finish(),r=new Uint8Array(t.length+e.length);return t.length&&r.set(t),e.length&&r.set(e,t.length),r},i.prototype.AES_CCM_calculate_iv=function(){var f=this.nonce,t=this.adata,e=this.tagSize,r=this.lengthSize,n=this.dataLength,i=new Uint8Array(16+(t?2+t.length:0));i[0]=(t?64:0)|e-2<<2|r-1,i.set(f,1),6<r&&(i[9]=n/4294967296>>>16&15),5<r&&(i[10]=n/4294967296>>>8&255),4<r&&(i[11]=n/4294967296&255),3<r&&(i[12]=n>>>24),2<r&&(i[13]=n>>>16&255),i[14]=n>>>8&255,i[15]=255&n,t&&(i[16]=t.length>>>8&255,i[17]=255&t.length,i.set(t,18)),this._cbc_mac_process(i),this.asm.get_state(_.HEAP_DATA);var s=new Uint8Array(this.heap.subarray(0,16)),a=new DataView(s.buffer,s.byteOffset,s.byteLength);this.asm.set_iv(a.getUint32(0),a.getUint32(4),a.getUint32(8),a.getUint32(12))},i.prototype._cbc_mac_process=function(f){for(var t=this.heap,e=this.asm,r=0,n=f.length||0,i=0;0<n;){for(i=y(t,0,f,r,n);15&i;)t[i++]=0;r+=i,n-=i,e.mac(_.MAC.CBC,_.HEAP_DATA,i)}},i.prototype.AES_CCM_Encrypt_process=function(f){var t=this.asm,e=this.heap,r=0,n=f.length||0,i=this.counter,s=this.pos,a=this.len,o=a+n&-16,c=0,x=0;if(C<(i-1<<4)+a+n)throw new RangeError("counter overflow");for(var h=new Uint8Array(o);0<n;)x=y(e,s+a,f,r,n),a+=x,r+=x,n-=x,x=t.mac(_.MAC.CBC,_.HEAP_DATA+s,a),x=t.cipher(_.ENC.CTR,_.HEAP_DATA+s,x),x&&h.set(e.subarray(s,s+x),c),i+=x>>>4,c+=x,x<a?(s+=x,a-=x):(s=0,a=0);return this.counter=i,this.pos=s,this.len=a,h},i.prototype.AES_CCM_Encrypt_finish=function(){for(var f=this.asm,t=this.heap,e=this.tagSize,r=this.pos,n=this.len,i=new Uint8Array(n+e),s=n;15&s;s++)t[r+s]=0;return f.mac(_.MAC.CBC,_.HEAP_DATA+r,s),f.cipher(_.ENC.CTR,_.HEAP_DATA+r,s),n&&i.set(t.subarray(r,r+n)),f.set_counter(0,0,0,0),f.get_iv(_.HEAP_DATA),f.cipher(_.ENC.CTR,_.HEAP_DATA,16),i.set(t.subarray(0,e),n),this.counter=1,this.pos=0,this.len=0,i},i.prototype.AES_CCM_Decrypt_process=function(f){var t=0,e=f.length||0,r=this.asm,n=this.heap,i=this.counter,s=this.tagSize,a=this.pos,o=this.len,c=0,x=s<o+e?o+e-s&-16:0,h=o+e-x,u=0;if(C<(i-1<<4)+o+e)throw new RangeError("counter overflow");for(var p=new Uint8Array(x);h<e;)u=y(n,a+o,f,t,e-h),o+=u,t+=u,e-=u,u=r.cipher(_.DEC.CTR,_.HEAP_DATA+a,u),u=r.mac(_.MAC.CBC,_.HEAP_DATA+a,u),u&&p.set(n.subarray(a,a+u),c),i+=u>>>4,c+=u,a=0,o=0;return 0<e&&(o+=y(n,0,f,t,e)),this.counter=i,this.pos=a,this.len=o,p},i.prototype.AES_CCM_Decrypt_finish=function(){var f=this.asm,t=this.heap,e=this.tagSize,r=this.pos,n=this.len,i=n-e;if(n<e)throw new b("authentication tag not found");var s=new Uint8Array(i),a=new Uint8Array(t.subarray(r+i,r+n));f.cipher(_.DEC.CTR,_.HEAP_DATA+r,i+15&-16),s.set(t.subarray(r,r+i));for(var o=i;15&o;o++)t[r+o]=0;f.mac(_.MAC.CBC,_.HEAP_DATA+r,o),f.set_counter(0,0,0,0),f.get_iv(_.HEAP_DATA),f.cipher(_.ENC.CTR,_.HEAP_DATA,16);for(var c=0,x=0;x<e;++x)c|=a[x]^t[x];if(c)throw new v("data integrity check failed");return this.counter=1,this.pos=0,this.len=0,s},i.prototype.AES_CTR_set_options=function(f,t,e){if(e<8||48<e)throw new g("illegal counter size");var r=Math.pow(2,e)-1;this.asm.set_mask(0,0,r/4294967296|0,0|r);var n=f.length;if(!n||16<n)throw new g("illegal nonce size");this.nonce=f;var i=new DataView(new ArrayBuffer(16));if(new Uint8Array(i.buffer).set(f),this.asm.set_nonce(i.getUint32(0),i.getUint32(4),i.getUint32(8),i.getUint32(12)),t<0||t>=Math.pow(2,e))throw new g("illegal counter value");this.counter=t,this.asm.set_counter(0,0,t/4294967296|0,0|t)},i}(d),M=function(){var r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(f,t){f.__proto__=t}||function(f,t){for(var e in t)t.hasOwnProperty(e)&&(f[e]=t[e])};return function(f,t){function e(){this.constructor=f}r(f,t),f.prototype=null===t?Object.create(t):(e.prototype=t.prototype,new e)}}(),U=function(r){function n(f,t){var e=r.call(this,f,t,!0,"CFB")||this;return delete e.padding,e}return M(n,r),n.encrypt=function(f,t,e){return new n(t,e).encrypt(f)},n.decrypt=function(f,t,e){return new n(t,e).decrypt(f)},n.prototype.encrypt=function(f){var t=this.AES_Encrypt_process(f),e=this.AES_Encrypt_finish();return x(t,e)},n.prototype.decrypt=function(f){var t=this.AES_Decrypt_process(f),e=this.AES_Decrypt_finish();return x(t,e)},n}(d),O=function(){var r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(f,t){f.__proto__=t}||function(f,t){for(var e in t)t.hasOwnProperty(e)&&(f[e]=t[e])};return function(f,t){function e(){this.constructor=f}r(f,t),f.prototype=null===t?Object.create(t):(e.prototype=t.prototype,new e)}}(),H=function(e){function r(f,t){return void 0===t&&(t=!1),e.call(this,f,void 0,t,"ECB")||this}return O(r,e),r.encrypt=function(f,t,e){return void 0===e&&(e=!1),new r(t,e).encrypt(f)},r.decrypt=function(f,t,e){return void 0===e&&(e=!1),new r(t,e).decrypt(f)},r.prototype.encrypt=function(f){var t=this.AES_Encrypt_process(f),e=this.AES_Encrypt_finish();return x(t,e)},r.prototype.decrypt=function(f){var t=this.AES_Decrypt_process(f),e=this.AES_Decrypt_finish();return x(t,e)},r}(d);function L(f){for(var t=128&f[0],e=0;e<15;e++)f[e]=f[e]<<1^(128&f[e+1]?1:0);f[15]=f[15]<<1^(t?135:0)}var k=function(){function e(f){this.bufferLength=0,this.k=new H(f).encrypt(new Uint8Array(16)),L(this.k),this.cbc=new A(f,new Uint8Array(16),!1),this.buffer=new Uint8Array(16),this.result=null}return e.bytes=function(f,t){return new e(t).process(f).finish().result},e.prototype.process=function(f){if(16<this.bufferLength+f.length){this.cbc.encrypt(this.buffer.subarray(0,this.bufferLength));var t=(this.bufferLength+f.length-1&-16)-this.bufferLength;this.cbc.encrypt(f.subarray(0,t)),this.buffer.set(f.subarray(t)),this.bufferLength=f.length-t}else this.buffer.set(f,this.bufferLength),this.bufferLength+=f.length;return this},e.prototype.finish=function(){if(16!==this.bufferLength){this.buffer[this.bufferLength]=128;for(var f=this.bufferLength+1;f<16;f++)this.buffer[f]=0;L(this.k)}for(f=0;f<16;f++)this.buffer[f]^=this.k[f];return this.result=this.cbc.encrypt(this.buffer),this},e}(),P=function(){var r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(f,t){f.__proto__=t}||function(f,t){for(var e in t)t.hasOwnProperty(e)&&(f[e]=t[e])};return function(f,t){function e(){this.constructor=f}r(f,t),f.prototype=null===t?Object.create(t):(e.prototype=t.prototype,new e)}}(),D=function(r){function n(f,t){var e=r.call(this,f,void 0,!1,"CTR")||this;return delete e.padding,e.AES_CTR_set_options(t),e}return P(n,r),n.encrypt=function(f,t,e){return new n(t,e).encrypt(f)},n.decrypt=function(f,t,e){return new n(t,e).encrypt(f)},n.prototype.encrypt=function(f){var t=this.AES_Encrypt_process(f),e=this.AES_Encrypt_finish();return x(t,e)},n.prototype.decrypt=function(f){var t=this.AES_Encrypt_process(f),e=this.AES_Encrypt_finish();return x(t,e)},n.prototype.AES_CTR_set_options=function(f,t,e){if(void 0!==e){if(e<8||48<e)throw new g("illegal counter size");var r=Math.pow(2,e)-1;this.asm.set_mask(0,0,r/4294967296|0,0|r)}else e=48,this.asm.set_mask(0,0,65535,4294967295);if(void 0===f)throw new Error("nonce is required");var n=f.length;if(!n||16<n)throw new g("illegal nonce size");var i=new DataView(new ArrayBuffer(16));if(new Uint8Array(i.buffer).set(f),this.asm.set_nonce(i.getUint32(0),i.getUint32(4),i.getUint32(8),i.getUint32(12)),void 0!==t){if(t<0||t>=Math.pow(2,e))throw new g("illegal counter value");this.asm.set_counter(0,0,t/4294967296|0,0|t)}},n}(d),R=function(){var r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(f,t){f.__proto__=t}||function(f,t){for(var e in t)t.hasOwnProperty(e)&&(f[e]=t[e])};return function(f,t){function e(){this.constructor=f}r(f,t),f.prototype=null===t?Object.create(t):(e.prototype=t.prototype,new e)}}(),T=68719476704,Z=function(o){function i(f,t,e,r){void 0===r&&(r=16);var n=o.call(this,f,void 0,!1,"CTR")||this;if(n.tagSize=r,n.gamma0=0,n.counter=1,n.asm.gcm_init(),n.tagSize<4||16<n.tagSize)throw new g("illegal tagSize value");var i=t.length||0,s=new Uint8Array(16);12!==i?(n._gcm_mac_process(t),n.heap[0]=0,n.heap[1]=0,n.heap[2]=0,n.heap[3]=0,n.heap[4]=0,n.heap[5]=0,n.heap[6]=0,n.heap[7]=0,n.heap[8]=0,n.heap[9]=0,n.heap[10]=0,n.heap[11]=i>>>29,n.heap[12]=i>>>21&255,n.heap[13]=i>>>13&255,n.heap[14]=i>>>5&255,n.heap[15]=i<<3&255,n.asm.mac(_.MAC.GCM,_.HEAP_DATA,16),n.asm.get_iv(_.HEAP_DATA),n.asm.set_iv(0,0,0,0),s.set(n.heap.subarray(0,16))):(s.set(t),s[15]=1);var a=new DataView(s.buffer);if(n.gamma0=a.getUint32(12),n.asm.set_nonce(a.getUint32(0),a.getUint32(4),a.getUint32(8),0),n.asm.set_mask(0,0,0,4294967295),void 0!==e){if(e.length>T)throw new g("illegal adata length");e.length?(n.adata=e,n._gcm_mac_process(e)):n.adata=void 0}else n.adata=void 0;if(n.counter<1||4294967295<n.counter)throw new RangeError("counter must be a positive 32-bit integer");return n.asm.set_counter(0,0,0,n.gamma0+n.counter|0),n}return R(i,o),i.encrypt=function(f,t,e,r,n){return new i(t,e,r,n).encrypt(f)},i.decrypt=function(f,t,e,r,n){return new i(t,e,r,n).decrypt(f)},i.prototype.encrypt=function(f){return this.AES_GCM_encrypt(f)},i.prototype.decrypt=function(f){return this.AES_GCM_decrypt(f)},i.prototype.AES_GCM_Encrypt_process=function(f){var t=0,e=f.length||0,r=this.asm,n=this.heap,i=this.counter,s=this.pos,a=this.len,o=0,c=a+e&-16,x=0;if(T<(i-1<<4)+a+e)throw new RangeError("counter overflow");for(var h=new Uint8Array(c);0<e;)x=y(n,s+a,f,t,e),a+=x,t+=x,e-=x,x=r.cipher(_.ENC.CTR,_.HEAP_DATA+s,a),x=r.mac(_.MAC.GCM,_.HEAP_DATA+s,x),x&&h.set(n.subarray(s,s+x),o),i+=x>>>4,o+=x,x<a?(s+=x,a-=x):(s=0,a=0);return this.counter=i,this.pos=s,this.len=a,h},i.prototype.AES_GCM_Encrypt_finish=function(){var f=this.asm,t=this.heap,e=this.counter,r=this.tagSize,n=this.adata,i=this.pos,s=this.len,a=new Uint8Array(s+r);f.cipher(_.ENC.CTR,_.HEAP_DATA+i,s+15&-16),s&&a.set(t.subarray(i,i+s));for(var o=s;15&o;o++)t[i+o]=0;f.mac(_.MAC.GCM,_.HEAP_DATA+i,o);var c=void 0!==n?n.length:0,x=(e-1<<4)+s;return t[0]=0,t[1]=0,t[2]=0,t[3]=c>>>29,t[4]=c>>>21,t[5]=c>>>13&255,t[6]=c>>>5&255,t[7]=c<<3&255,t[8]=t[9]=t[10]=0,t[11]=x>>>29,t[12]=x>>>21&255,t[13]=x>>>13&255,t[14]=x>>>5&255,t[15]=x<<3&255,f.mac(_.MAC.GCM,_.HEAP_DATA,16),f.get_iv(_.HEAP_DATA),f.set_counter(0,0,0,this.gamma0),f.cipher(_.ENC.CTR,_.HEAP_DATA,16),a.set(t.subarray(0,r),s),this.counter=1,this.pos=0,this.len=0,a},i.prototype.AES_GCM_Decrypt_process=function(f){var t=0,e=f.length||0,r=this.asm,n=this.heap,i=this.counter,s=this.tagSize,a=this.pos,o=this.len,c=0,x=s<o+e?o+e-s&-16:0,h=o+e-x,u=0;if(T<(i-1<<4)+o+e)throw new RangeError("counter overflow");for(var p=new Uint8Array(x);h<e;)u=y(n,a+o,f,t,e-h),o+=u,t+=u,e-=u,u=r.mac(_.MAC.GCM,_.HEAP_DATA+a,u),u=r.cipher(_.DEC.CTR,_.HEAP_DATA+a,u),u&&p.set(n.subarray(a,a+u),c),i+=u>>>4,c+=u,a=0,o=0;return 0<e&&(o+=y(n,0,f,t,e)),this.counter=i,this.pos=a,this.len=o,p},i.prototype.AES_GCM_Decrypt_finish=function(){var f=this.asm,t=this.heap,e=this.tagSize,r=this.adata,n=this.counter,i=this.pos,s=this.len,a=s-e;if(s<e)throw new b("authentication tag not found");for(var o=new Uint8Array(a),c=new Uint8Array(t.subarray(i+a,i+s)),x=a;15&x;x++)t[i+x]=0;f.mac(_.MAC.GCM,_.HEAP_DATA+i,x),f.cipher(_.DEC.CTR,_.HEAP_DATA+i,x),a&&o.set(t.subarray(i,i+a));var h=void 0!==r?r.length:0,u=(n-1<<4)+s-e;t[0]=0,t[1]=0,t[2]=0,t[3]=h>>>29,t[4]=h>>>21,t[5]=h>>>13&255,t[6]=h>>>5&255,t[7]=h<<3&255,t[8]=t[9]=t[10]=0,t[11]=u>>>29,t[12]=u>>>21&255,t[13]=u>>>13&255,t[14]=u>>>5&255,t[15]=u<<3&255,f.mac(_.MAC.GCM,_.HEAP_DATA,16),f.get_iv(_.HEAP_DATA),f.set_counter(0,0,0,this.gamma0),f.cipher(_.ENC.CTR,_.HEAP_DATA,16);for(var p=0,l=0;l<e;++l)p|=c[l]^t[l];if(p)throw new v("data integrity check failed");return this.counter=1,this.pos=0,this.len=0,o},i.prototype.AES_GCM_decrypt=function(f){var t=this.AES_GCM_Decrypt_process(f),e=this.AES_GCM_Decrypt_finish(),r=new Uint8Array(t.length+e.length);return t.length&&r.set(t),e.length&&r.set(e,t.length),r},i.prototype.AES_GCM_encrypt=function(f){var t=this.AES_GCM_Encrypt_process(f),e=this.AES_GCM_Encrypt_finish(),r=new Uint8Array(t.length+e.length);return t.length&&r.set(t),e.length&&r.set(e,t.length),r},i.prototype._gcm_mac_process=function(f){for(var t=this.heap,e=this.asm,r=0,n=f.length||0,i=0;0<n;){for(i=y(t,0,f,r,n),r+=i,n-=i;15&i;)t[i++]=0;e.mac(_.MAC.GCM,_.HEAP_DATA,i)}},i}(d),B=function(){var r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(f,t){f.__proto__=t}||function(f,t){for(var e in t)t.hasOwnProperty(e)&&(f[e]=t[e])};return function(f,t){function e(){this.constructor=f}r(f,t),f.prototype=null===t?Object.create(t):(e.prototype=t.prototype,new e)}}(),I=function(e){function r(f,t){return e.call(this,f,t,!1,"OFB")||this}return B(r,e),r.encrypt=function(f,t,e){return new r(t,e).encrypt(f)},r.decrypt=function(f,t,e){return new r(t,e).decrypt(f)},r.prototype.encrypt=function(f){var t=this.AES_Encrypt_process(f),e=this.AES_Encrypt_finish();return x(t,e)},r.prototype.decrypt=function(f){var t=this.AES_Decrypt_process(f),e=this.AES_Decrypt_finish();return x(t,e)},r}(d),z=function(f,t,e){"use asm";var r=0;var lf=new f.Uint32Array(e);var yf=f.Math.imul;function n(f){f=f|0;r=f=f+31&-32;return f|0}function d(f){f=f|0;var t=0;t=r;r=t+(f+31&-32)|0;return t|0}function w(f){f=f|0;r=r-(f+31&-32)|0}function A(f,t,e){f=f|0;t=t|0;e=e|0;var r=0;if((t|0)>(e|0)){for(;(r|0)<(f|0);r=r+4|0){lf[e+r>>2]=lf[t+r>>2]}}else{for(r=f-4|0;(r|0)>=0;r=r-4|0){lf[e+r>>2]=lf[t+r>>2]}}}function m(f,t,e){f=f|0;t=t|0;e=e|0;var r=0;for(;(r|0)<(f|0);r=r+4|0){lf[e+r>>2]=t}}function i(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;var n=0,i=0,s=0,a=0,o=0;if((r|0)<=0)r=t;if((r|0)<(t|0))t=r;i=1;for(;(o|0)<(t|0);o=o+4|0){n=~lf[f+o>>2];s=(n&0xffff)+i|0;a=(n>>>16)+(s>>>16)|0;lf[e+o>>2]=a<<16|s&0xffff;i=a>>>16}for(;(o|0)<(r|0);o=o+4|0){lf[e+o>>2]=i-1|0}return i|0}function E(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;var n=0,i=0,s=0;if((t|0)>(r|0)){for(s=t-4|0;(s|0)>=(r|0);s=s-4|0){if(lf[f+s>>2]|0)return 1}}else{for(s=r-4|0;(s|0)>=(t|0);s=s-4|0){if(lf[e+s>>2]|0)return-1}}for(;(s|0)>=0;s=s-4|0){n=lf[f+s>>2]|0,i=lf[e+s>>2]|0;if(n>>>0<i>>>0)return-1;if(n>>>0>i>>>0)return 1}return 0}function s(f,t){f=f|0;t=t|0;var e=0;for(e=t-4|0;(e|0)>=0;e=e-4|0){if(lf[f+e>>2]|0)return e+4|0}return 0}function a(f,t,e,r,n,i){f=f|0;t=t|0;e=e|0;r=r|0;n=n|0;i=i|0;var s=0,a=0,o=0,c=0,x=0,h=0;if((t|0)<(r|0)){c=f,f=e,e=c;c=t,t=r,r=c}if((i|0)<=0)i=t+4|0;if((i|0)<(r|0))t=r=i;for(;(h|0)<(r|0);h=h+4|0){s=lf[f+h>>2]|0;a=lf[e+h>>2]|0;c=((s&0xffff)+(a&0xffff)|0)+o|0;x=((s>>>16)+(a>>>16)|0)+(c>>>16)|0;lf[n+h>>2]=c&0xffff|x<<16;o=x>>>16}for(;(h|0)<(t|0);h=h+4|0){s=lf[f+h>>2]|0;c=(s&0xffff)+o|0;x=(s>>>16)+(c>>>16)|0;lf[n+h>>2]=c&0xffff|x<<16;o=x>>>16}for(;(h|0)<(i|0);h=h+4|0){lf[n+h>>2]=o|0;o=0}return o|0}function C(f,t,e,r,n,i){f=f|0;t=t|0;e=e|0;r=r|0;n=n|0;i=i|0;var s=0,a=0,o=0,c=0,x=0,h=0;if((i|0)<=0)i=(t|0)>(r|0)?t+4|0:r+4|0;if((i|0)<(t|0))t=i;if((i|0)<(r|0))r=i;if((t|0)<(r|0)){for(;(h|0)<(t|0);h=h+4|0){s=lf[f+h>>2]|0;a=lf[e+h>>2]|0;c=((s&0xffff)-(a&0xffff)|0)+o|0;x=((s>>>16)-(a>>>16)|0)+(c>>16)|0;lf[n+h>>2]=c&0xffff|x<<16;o=x>>16}for(;(h|0)<(r|0);h=h+4|0){a=lf[e+h>>2]|0;c=o-(a&0xffff)|0;x=(c>>16)-(a>>>16)|0;lf[n+h>>2]=c&0xffff|x<<16;o=x>>16}}else{for(;(h|0)<(r|0);h=h+4|0){s=lf[f+h>>2]|0;a=lf[e+h>>2]|0;c=((s&0xffff)-(a&0xffff)|0)+o|0;x=((s>>>16)-(a>>>16)|0)+(c>>16)|0;lf[n+h>>2]=c&0xffff|x<<16;o=x>>16}for(;(h|0)<(t|0);h=h+4|0){s=lf[f+h>>2]|0;c=(s&0xffff)+o|0;x=(s>>>16)+(c>>16)|0;lf[n+h>>2]=c&0xffff|x<<16;o=x>>16}}for(;(h|0)<(i|0);h=h+4|0){lf[n+h>>2]=o|0}return o|0}function o(f,t,e,r,n,i){f=f|0;t=t|0;e=e|0;r=r|0;n=n|0;i=i|0;var s=0,a=0,o=0,c=0,x=0,h=0,u=0,p=0,l=0,y=0,b=0,_=0,g=0,v=0,d=0,w=0,A=0,m=0,E=0,C=0,S=0,M=0,U=0,O=0,H=0,L=0,k=0,P=0,D=0,R=0,T=0,Z=0,B=0,I=0,z=0,G=0,N=0,j=0,q=0,F=0,V=0,K=0,W=0,J=0,Q=0,X=0,Y=0,$=0,ff=0,tf=0,ef=0,rf=0,nf=0,sf=0,af=0,of=0,cf=0;if((t|0)>(r|0)){ff=f,tf=t;f=e,t=r;e=ff,r=tf}rf=t+r|0;if((i|0)>(rf|0)|(i|0)<=0)i=rf;if((i|0)<(t|0))t=i;if((i|0)<(r|0))r=i;for(;(nf|0)<(t|0);nf=nf+32|0){sf=f+nf|0;l=lf[(sf|0)>>2]|0,y=lf[(sf|4)>>2]|0,b=lf[(sf|8)>>2]|0,_=lf[(sf|12)>>2]|0,g=lf[(sf|16)>>2]|0,v=lf[(sf|20)>>2]|0,d=lf[(sf|24)>>2]|0,w=lf[(sf|28)>>2]|0,s=l&0xffff,a=y&0xffff,o=b&0xffff,c=_&0xffff,x=g&0xffff,h=v&0xffff,u=d&0xffff,p=w&0xffff,l=l>>>16,y=y>>>16,b=b>>>16,_=_>>>16,g=g>>>16,v=v>>>16,d=d>>>16,w=w>>>16;V=K=W=J=Q=X=Y=$=0;for(af=0;(af|0)<(r|0);af=af+32|0){of=e+af|0;cf=n+(nf+af|0)|0;H=lf[(of|0)>>2]|0,L=lf[(of|4)>>2]|0,k=lf[(of|8)>>2]|0,P=lf[(of|12)>>2]|0,D=lf[(of|16)>>2]|0,R=lf[(of|20)>>2]|0,T=lf[(of|24)>>2]|0,Z=lf[(of|28)>>2]|0,A=H&0xffff,m=L&0xffff,E=k&0xffff,C=P&0xffff,S=D&0xffff,M=R&0xffff,U=T&0xffff,O=Z&0xffff,H=H>>>16,L=L>>>16,k=k>>>16,P=P>>>16,D=D>>>16,R=R>>>16,T=T>>>16,Z=Z>>>16;B=lf[(cf|0)>>2]|0,I=lf[(cf|4)>>2]|0,z=lf[(cf|8)>>2]|0,G=lf[(cf|12)>>2]|0,N=lf[(cf|16)>>2]|0,j=lf[(cf|20)>>2]|0,q=lf[(cf|24)>>2]|0,F=lf[(cf|28)>>2]|0;ff=((yf(s,A)|0)+(V&0xffff)|0)+(B&0xffff)|0;tf=((yf(l,A)|0)+(V>>>16)|0)+(B>>>16)|0;ef=((yf(s,H)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(l,H)|0)+(tf>>>16)|0)+(ef>>>16)|0;B=ef<<16|ff&0xffff;ff=((yf(s,m)|0)+(rf&0xffff)|0)+(I&0xffff)|0;tf=((yf(l,m)|0)+(rf>>>16)|0)+(I>>>16)|0;ef=((yf(s,L)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(l,L)|0)+(tf>>>16)|0)+(ef>>>16)|0;I=ef<<16|ff&0xffff;ff=((yf(s,E)|0)+(rf&0xffff)|0)+(z&0xffff)|0;tf=((yf(l,E)|0)+(rf>>>16)|0)+(z>>>16)|0;ef=((yf(s,k)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(l,k)|0)+(tf>>>16)|0)+(ef>>>16)|0;z=ef<<16|ff&0xffff;ff=((yf(s,C)|0)+(rf&0xffff)|0)+(G&0xffff)|0;tf=((yf(l,C)|0)+(rf>>>16)|0)+(G>>>16)|0;ef=((yf(s,P)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(l,P)|0)+(tf>>>16)|0)+(ef>>>16)|0;G=ef<<16|ff&0xffff;ff=((yf(s,S)|0)+(rf&0xffff)|0)+(N&0xffff)|0;tf=((yf(l,S)|0)+(rf>>>16)|0)+(N>>>16)|0;ef=((yf(s,D)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(l,D)|0)+(tf>>>16)|0)+(ef>>>16)|0;N=ef<<16|ff&0xffff;ff=((yf(s,M)|0)+(rf&0xffff)|0)+(j&0xffff)|0;tf=((yf(l,M)|0)+(rf>>>16)|0)+(j>>>16)|0;ef=((yf(s,R)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(l,R)|0)+(tf>>>16)|0)+(ef>>>16)|0;j=ef<<16|ff&0xffff;ff=((yf(s,U)|0)+(rf&0xffff)|0)+(q&0xffff)|0;tf=((yf(l,U)|0)+(rf>>>16)|0)+(q>>>16)|0;ef=((yf(s,T)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(l,T)|0)+(tf>>>16)|0)+(ef>>>16)|0;q=ef<<16|ff&0xffff;ff=((yf(s,O)|0)+(rf&0xffff)|0)+(F&0xffff)|0;tf=((yf(l,O)|0)+(rf>>>16)|0)+(F>>>16)|0;ef=((yf(s,Z)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(l,Z)|0)+(tf>>>16)|0)+(ef>>>16)|0;F=ef<<16|ff&0xffff;V=rf;ff=((yf(a,A)|0)+(K&0xffff)|0)+(I&0xffff)|0;tf=((yf(y,A)|0)+(K>>>16)|0)+(I>>>16)|0;ef=((yf(a,H)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(y,H)|0)+(tf>>>16)|0)+(ef>>>16)|0;I=ef<<16|ff&0xffff;ff=((yf(a,m)|0)+(rf&0xffff)|0)+(z&0xffff)|0;tf=((yf(y,m)|0)+(rf>>>16)|0)+(z>>>16)|0;ef=((yf(a,L)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(y,L)|0)+(tf>>>16)|0)+(ef>>>16)|0;z=ef<<16|ff&0xffff;ff=((yf(a,E)|0)+(rf&0xffff)|0)+(G&0xffff)|0;tf=((yf(y,E)|0)+(rf>>>16)|0)+(G>>>16)|0;ef=((yf(a,k)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(y,k)|0)+(tf>>>16)|0)+(ef>>>16)|0;G=ef<<16|ff&0xffff;ff=((yf(a,C)|0)+(rf&0xffff)|0)+(N&0xffff)|0;tf=((yf(y,C)|0)+(rf>>>16)|0)+(N>>>16)|0;ef=((yf(a,P)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(y,P)|0)+(tf>>>16)|0)+(ef>>>16)|0;N=ef<<16|ff&0xffff;ff=((yf(a,S)|0)+(rf&0xffff)|0)+(j&0xffff)|0;tf=((yf(y,S)|0)+(rf>>>16)|0)+(j>>>16)|0;ef=((yf(a,D)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(y,D)|0)+(tf>>>16)|0)+(ef>>>16)|0;j=ef<<16|ff&0xffff;ff=((yf(a,M)|0)+(rf&0xffff)|0)+(q&0xffff)|0;tf=((yf(y,M)|0)+(rf>>>16)|0)+(q>>>16)|0;ef=((yf(a,R)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(y,R)|0)+(tf>>>16)|0)+(ef>>>16)|0;q=ef<<16|ff&0xffff;ff=((yf(a,U)|0)+(rf&0xffff)|0)+(F&0xffff)|0;tf=((yf(y,U)|0)+(rf>>>16)|0)+(F>>>16)|0;ef=((yf(a,T)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(y,T)|0)+(tf>>>16)|0)+(ef>>>16)|0;F=ef<<16|ff&0xffff;ff=((yf(a,O)|0)+(rf&0xffff)|0)+(V&0xffff)|0;tf=((yf(y,O)|0)+(rf>>>16)|0)+(V>>>16)|0;ef=((yf(a,Z)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(y,Z)|0)+(tf>>>16)|0)+(ef>>>16)|0;V=ef<<16|ff&0xffff;K=rf;ff=((yf(o,A)|0)+(W&0xffff)|0)+(z&0xffff)|0;tf=((yf(b,A)|0)+(W>>>16)|0)+(z>>>16)|0;ef=((yf(o,H)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(b,H)|0)+(tf>>>16)|0)+(ef>>>16)|0;z=ef<<16|ff&0xffff;ff=((yf(o,m)|0)+(rf&0xffff)|0)+(G&0xffff)|0;tf=((yf(b,m)|0)+(rf>>>16)|0)+(G>>>16)|0;ef=((yf(o,L)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(b,L)|0)+(tf>>>16)|0)+(ef>>>16)|0;G=ef<<16|ff&0xffff;ff=((yf(o,E)|0)+(rf&0xffff)|0)+(N&0xffff)|0;tf=((yf(b,E)|0)+(rf>>>16)|0)+(N>>>16)|0;ef=((yf(o,k)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(b,k)|0)+(tf>>>16)|0)+(ef>>>16)|0;N=ef<<16|ff&0xffff;ff=((yf(o,C)|0)+(rf&0xffff)|0)+(j&0xffff)|0;tf=((yf(b,C)|0)+(rf>>>16)|0)+(j>>>16)|0;ef=((yf(o,P)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(b,P)|0)+(tf>>>16)|0)+(ef>>>16)|0;j=ef<<16|ff&0xffff;ff=((yf(o,S)|0)+(rf&0xffff)|0)+(q&0xffff)|0;tf=((yf(b,S)|0)+(rf>>>16)|0)+(q>>>16)|0;ef=((yf(o,D)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(b,D)|0)+(tf>>>16)|0)+(ef>>>16)|0;q=ef<<16|ff&0xffff;ff=((yf(o,M)|0)+(rf&0xffff)|0)+(F&0xffff)|0;tf=((yf(b,M)|0)+(rf>>>16)|0)+(F>>>16)|0;ef=((yf(o,R)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(b,R)|0)+(tf>>>16)|0)+(ef>>>16)|0;F=ef<<16|ff&0xffff;ff=((yf(o,U)|0)+(rf&0xffff)|0)+(V&0xffff)|0;tf=((yf(b,U)|0)+(rf>>>16)|0)+(V>>>16)|0;ef=((yf(o,T)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(b,T)|0)+(tf>>>16)|0)+(ef>>>16)|0;V=ef<<16|ff&0xffff;ff=((yf(o,O)|0)+(rf&0xffff)|0)+(K&0xffff)|0;tf=((yf(b,O)|0)+(rf>>>16)|0)+(K>>>16)|0;ef=((yf(o,Z)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(b,Z)|0)+(tf>>>16)|0)+(ef>>>16)|0;K=ef<<16|ff&0xffff;W=rf;ff=((yf(c,A)|0)+(J&0xffff)|0)+(G&0xffff)|0;tf=((yf(_,A)|0)+(J>>>16)|0)+(G>>>16)|0;ef=((yf(c,H)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(_,H)|0)+(tf>>>16)|0)+(ef>>>16)|0;G=ef<<16|ff&0xffff;ff=((yf(c,m)|0)+(rf&0xffff)|0)+(N&0xffff)|0;tf=((yf(_,m)|0)+(rf>>>16)|0)+(N>>>16)|0;ef=((yf(c,L)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(_,L)|0)+(tf>>>16)|0)+(ef>>>16)|0;N=ef<<16|ff&0xffff;ff=((yf(c,E)|0)+(rf&0xffff)|0)+(j&0xffff)|0;tf=((yf(_,E)|0)+(rf>>>16)|0)+(j>>>16)|0;ef=((yf(c,k)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(_,k)|0)+(tf>>>16)|0)+(ef>>>16)|0;j=ef<<16|ff&0xffff;ff=((yf(c,C)|0)+(rf&0xffff)|0)+(q&0xffff)|0;tf=((yf(_,C)|0)+(rf>>>16)|0)+(q>>>16)|0;ef=((yf(c,P)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(_,P)|0)+(tf>>>16)|0)+(ef>>>16)|0;q=ef<<16|ff&0xffff;ff=((yf(c,S)|0)+(rf&0xffff)|0)+(F&0xffff)|0;tf=((yf(_,S)|0)+(rf>>>16)|0)+(F>>>16)|0;ef=((yf(c,D)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(_,D)|0)+(tf>>>16)|0)+(ef>>>16)|0;F=ef<<16|ff&0xffff;ff=((yf(c,M)|0)+(rf&0xffff)|0)+(V&0xffff)|0;tf=((yf(_,M)|0)+(rf>>>16)|0)+(V>>>16)|0;ef=((yf(c,R)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(_,R)|0)+(tf>>>16)|0)+(ef>>>16)|0;V=ef<<16|ff&0xffff;ff=((yf(c,U)|0)+(rf&0xffff)|0)+(K&0xffff)|0;tf=((yf(_,U)|0)+(rf>>>16)|0)+(K>>>16)|0;ef=((yf(c,T)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(_,T)|0)+(tf>>>16)|0)+(ef>>>16)|0;K=ef<<16|ff&0xffff;ff=((yf(c,O)|0)+(rf&0xffff)|0)+(W&0xffff)|0;tf=((yf(_,O)|0)+(rf>>>16)|0)+(W>>>16)|0;ef=((yf(c,Z)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(_,Z)|0)+(tf>>>16)|0)+(ef>>>16)|0;W=ef<<16|ff&0xffff;J=rf;ff=((yf(x,A)|0)+(Q&0xffff)|0)+(N&0xffff)|0;tf=((yf(g,A)|0)+(Q>>>16)|0)+(N>>>16)|0;ef=((yf(x,H)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(g,H)|0)+(tf>>>16)|0)+(ef>>>16)|0;N=ef<<16|ff&0xffff;ff=((yf(x,m)|0)+(rf&0xffff)|0)+(j&0xffff)|0;tf=((yf(g,m)|0)+(rf>>>16)|0)+(j>>>16)|0;ef=((yf(x,L)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(g,L)|0)+(tf>>>16)|0)+(ef>>>16)|0;j=ef<<16|ff&0xffff;ff=((yf(x,E)|0)+(rf&0xffff)|0)+(q&0xffff)|0;tf=((yf(g,E)|0)+(rf>>>16)|0)+(q>>>16)|0;ef=((yf(x,k)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(g,k)|0)+(tf>>>16)|0)+(ef>>>16)|0;q=ef<<16|ff&0xffff;ff=((yf(x,C)|0)+(rf&0xffff)|0)+(F&0xffff)|0;tf=((yf(g,C)|0)+(rf>>>16)|0)+(F>>>16)|0;ef=((yf(x,P)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(g,P)|0)+(tf>>>16)|0)+(ef>>>16)|0;F=ef<<16|ff&0xffff;ff=((yf(x,S)|0)+(rf&0xffff)|0)+(V&0xffff)|0;tf=((yf(g,S)|0)+(rf>>>16)|0)+(V>>>16)|0;ef=((yf(x,D)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(g,D)|0)+(tf>>>16)|0)+(ef>>>16)|0;V=ef<<16|ff&0xffff;ff=((yf(x,M)|0)+(rf&0xffff)|0)+(K&0xffff)|0;tf=((yf(g,M)|0)+(rf>>>16)|0)+(K>>>16)|0;ef=((yf(x,R)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(g,R)|0)+(tf>>>16)|0)+(ef>>>16)|0;K=ef<<16|ff&0xffff;ff=((yf(x,U)|0)+(rf&0xffff)|0)+(W&0xffff)|0;tf=((yf(g,U)|0)+(rf>>>16)|0)+(W>>>16)|0;ef=((yf(x,T)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(g,T)|0)+(tf>>>16)|0)+(ef>>>16)|0;W=ef<<16|ff&0xffff;ff=((yf(x,O)|0)+(rf&0xffff)|0)+(J&0xffff)|0;tf=((yf(g,O)|0)+(rf>>>16)|0)+(J>>>16)|0;ef=((yf(x,Z)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(g,Z)|0)+(tf>>>16)|0)+(ef>>>16)|0;J=ef<<16|ff&0xffff;Q=rf;ff=((yf(h,A)|0)+(X&0xffff)|0)+(j&0xffff)|0;tf=((yf(v,A)|0)+(X>>>16)|0)+(j>>>16)|0;ef=((yf(h,H)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(v,H)|0)+(tf>>>16)|0)+(ef>>>16)|0;j=ef<<16|ff&0xffff;ff=((yf(h,m)|0)+(rf&0xffff)|0)+(q&0xffff)|0;tf=((yf(v,m)|0)+(rf>>>16)|0)+(q>>>16)|0;ef=((yf(h,L)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(v,L)|0)+(tf>>>16)|0)+(ef>>>16)|0;q=ef<<16|ff&0xffff;ff=((yf(h,E)|0)+(rf&0xffff)|0)+(F&0xffff)|0;tf=((yf(v,E)|0)+(rf>>>16)|0)+(F>>>16)|0;ef=((yf(h,k)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(v,k)|0)+(tf>>>16)|0)+(ef>>>16)|0;F=ef<<16|ff&0xffff;ff=((yf(h,C)|0)+(rf&0xffff)|0)+(V&0xffff)|0;tf=((yf(v,C)|0)+(rf>>>16)|0)+(V>>>16)|0;ef=((yf(h,P)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(v,P)|0)+(tf>>>16)|0)+(ef>>>16)|0;V=ef<<16|ff&0xffff;ff=((yf(h,S)|0)+(rf&0xffff)|0)+(K&0xffff)|0;tf=((yf(v,S)|0)+(rf>>>16)|0)+(K>>>16)|0;ef=((yf(h,D)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(v,D)|0)+(tf>>>16)|0)+(ef>>>16)|0;K=ef<<16|ff&0xffff;ff=((yf(h,M)|0)+(rf&0xffff)|0)+(W&0xffff)|0;tf=((yf(v,M)|0)+(rf>>>16)|0)+(W>>>16)|0;ef=((yf(h,R)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(v,R)|0)+(tf>>>16)|0)+(ef>>>16)|0;W=ef<<16|ff&0xffff;ff=((yf(h,U)|0)+(rf&0xffff)|0)+(J&0xffff)|0;tf=((yf(v,U)|0)+(rf>>>16)|0)+(J>>>16)|0;ef=((yf(h,T)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(v,T)|0)+(tf>>>16)|0)+(ef>>>16)|0;J=ef<<16|ff&0xffff;ff=((yf(h,O)|0)+(rf&0xffff)|0)+(Q&0xffff)|0;tf=((yf(v,O)|0)+(rf>>>16)|0)+(Q>>>16)|0;ef=((yf(h,Z)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(v,Z)|0)+(tf>>>16)|0)+(ef>>>16)|0;Q=ef<<16|ff&0xffff;X=rf;ff=((yf(u,A)|0)+(Y&0xffff)|0)+(q&0xffff)|0;tf=((yf(d,A)|0)+(Y>>>16)|0)+(q>>>16)|0;ef=((yf(u,H)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(d,H)|0)+(tf>>>16)|0)+(ef>>>16)|0;q=ef<<16|ff&0xffff;ff=((yf(u,m)|0)+(rf&0xffff)|0)+(F&0xffff)|0;tf=((yf(d,m)|0)+(rf>>>16)|0)+(F>>>16)|0;ef=((yf(u,L)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(d,L)|0)+(tf>>>16)|0)+(ef>>>16)|0;F=ef<<16|ff&0xffff;ff=((yf(u,E)|0)+(rf&0xffff)|0)+(V&0xffff)|0;tf=((yf(d,E)|0)+(rf>>>16)|0)+(V>>>16)|0;ef=((yf(u,k)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(d,k)|0)+(tf>>>16)|0)+(ef>>>16)|0;V=ef<<16|ff&0xffff;ff=((yf(u,C)|0)+(rf&0xffff)|0)+(K&0xffff)|0;tf=((yf(d,C)|0)+(rf>>>16)|0)+(K>>>16)|0;ef=((yf(u,P)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(d,P)|0)+(tf>>>16)|0)+(ef>>>16)|0;K=ef<<16|ff&0xffff;ff=((yf(u,S)|0)+(rf&0xffff)|0)+(W&0xffff)|0;tf=((yf(d,S)|0)+(rf>>>16)|0)+(W>>>16)|0;ef=((yf(u,D)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(d,D)|0)+(tf>>>16)|0)+(ef>>>16)|0;W=ef<<16|ff&0xffff;ff=((yf(u,M)|0)+(rf&0xffff)|0)+(J&0xffff)|0;tf=((yf(d,M)|0)+(rf>>>16)|0)+(J>>>16)|0;ef=((yf(u,R)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(d,R)|0)+(tf>>>16)|0)+(ef>>>16)|0;J=ef<<16|ff&0xffff;ff=((yf(u,U)|0)+(rf&0xffff)|0)+(Q&0xffff)|0;tf=((yf(d,U)|0)+(rf>>>16)|0)+(Q>>>16)|0;ef=((yf(u,T)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(d,T)|0)+(tf>>>16)|0)+(ef>>>16)|0;Q=ef<<16|ff&0xffff;ff=((yf(u,O)|0)+(rf&0xffff)|0)+(X&0xffff)|0;tf=((yf(d,O)|0)+(rf>>>16)|0)+(X>>>16)|0;ef=((yf(u,Z)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(d,Z)|0)+(tf>>>16)|0)+(ef>>>16)|0;X=ef<<16|ff&0xffff;Y=rf;ff=((yf(p,A)|0)+($&0xffff)|0)+(F&0xffff)|0;tf=((yf(w,A)|0)+($>>>16)|0)+(F>>>16)|0;ef=((yf(p,H)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(w,H)|0)+(tf>>>16)|0)+(ef>>>16)|0;F=ef<<16|ff&0xffff;ff=((yf(p,m)|0)+(rf&0xffff)|0)+(V&0xffff)|0;tf=((yf(w,m)|0)+(rf>>>16)|0)+(V>>>16)|0;ef=((yf(p,L)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(w,L)|0)+(tf>>>16)|0)+(ef>>>16)|0;V=ef<<16|ff&0xffff;ff=((yf(p,E)|0)+(rf&0xffff)|0)+(K&0xffff)|0;tf=((yf(w,E)|0)+(rf>>>16)|0)+(K>>>16)|0;ef=((yf(p,k)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(w,k)|0)+(tf>>>16)|0)+(ef>>>16)|0;K=ef<<16|ff&0xffff;ff=((yf(p,C)|0)+(rf&0xffff)|0)+(W&0xffff)|0;tf=((yf(w,C)|0)+(rf>>>16)|0)+(W>>>16)|0;ef=((yf(p,P)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(w,P)|0)+(tf>>>16)|0)+(ef>>>16)|0;W=ef<<16|ff&0xffff;ff=((yf(p,S)|0)+(rf&0xffff)|0)+(J&0xffff)|0;tf=((yf(w,S)|0)+(rf>>>16)|0)+(J>>>16)|0;ef=((yf(p,D)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(w,D)|0)+(tf>>>16)|0)+(ef>>>16)|0;J=ef<<16|ff&0xffff;ff=((yf(p,M)|0)+(rf&0xffff)|0)+(Q&0xffff)|0;tf=((yf(w,M)|0)+(rf>>>16)|0)+(Q>>>16)|0;ef=((yf(p,R)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(w,R)|0)+(tf>>>16)|0)+(ef>>>16)|0;Q=ef<<16|ff&0xffff;ff=((yf(p,U)|0)+(rf&0xffff)|0)+(X&0xffff)|0;tf=((yf(w,U)|0)+(rf>>>16)|0)+(X>>>16)|0;ef=((yf(p,T)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(w,T)|0)+(tf>>>16)|0)+(ef>>>16)|0;X=ef<<16|ff&0xffff;ff=((yf(p,O)|0)+(rf&0xffff)|0)+(Y&0xffff)|0;tf=((yf(w,O)|0)+(rf>>>16)|0)+(Y>>>16)|0;ef=((yf(p,Z)|0)+(tf&0xffff)|0)+(ff>>>16)|0;rf=((yf(w,Z)|0)+(tf>>>16)|0)+(ef>>>16)|0;Y=ef<<16|ff&0xffff;$=rf;lf[(cf|0)>>2]=B,lf[(cf|4)>>2]=I,lf[(cf|8)>>2]=z,lf[(cf|12)>>2]=G,lf[(cf|16)>>2]=N,lf[(cf|20)>>2]=j,lf[(cf|24)>>2]=q,lf[(cf|28)>>2]=F}cf=n+(nf+af|0)|0;lf[(cf|0)>>2]=V,lf[(cf|4)>>2]=K,lf[(cf|8)>>2]=W,lf[(cf|12)>>2]=J,lf[(cf|16)>>2]=Q,lf[(cf|20)>>2]=X,lf[(cf|24)>>2]=Y,lf[(cf|28)>>2]=$}}function c(f,t,e){f=f|0;t=t|0;e=e|0;var r=0,n=0,i=0,s=0,a=0,o=0,c=0,x=0,h=0,u=0,p=0,l=0,y=0,b=0,_=0,g=0,v=0,d=0,w=0,A=0,m=0,E=0,C=0,S=0,M=0,U=0,O=0,H=0,L=0,k=0,P=0,D=0,R=0,T=0,Z=0,B=0,I=0,z=0,G=0,N=0,j=0,q=0,F=0,V=0,K=0,W=0,J=0,Q=0,X=0,Y=0,$=0,ff=0,tf=0,ef=0,rf=0,nf=0,sf=0,af=0,of=0,cf=0,xf=0,hf=0,uf=0,pf=0;for(;(of|0)<(t|0);of=of+4|0){pf=e+(of<<1)|0;h=lf[f+of>>2]|0,r=h&0xffff,h=h>>>16;X=yf(r,r)|0;Y=(yf(r,h)|0)+(X>>>17)|0;$=(yf(h,h)|0)+(Y>>>15)|0;lf[pf>>2]=Y<<17|X&0x1ffff;lf[(pf|4)>>2]=$}for(af=0;(af|0)<(t|0);af=af+8|0){hf=f+af|0,pf=e+(af<<1)|0;h=lf[hf>>2]|0,r=h&0xffff,h=h>>>16;M=lf[(hf|4)>>2]|0,v=M&0xffff,M=M>>>16;X=yf(r,v)|0;Y=(yf(r,M)|0)+(X>>>16)|0;$=(yf(h,v)|0)+(Y&0xffff)|0;ef=((yf(h,M)|0)+(Y>>>16)|0)+($>>>16)|0;rf=lf[(pf|4)>>2]|0;X=(rf&0xffff)+((X&0xffff)<<1)|0;$=((rf>>>16)+(($&0xffff)<<1)|0)+(X>>>16)|0;lf[(pf|4)>>2]=$<<16|X&0xffff;ff=$>>>16;rf=lf[(pf|8)>>2]|0;X=((rf&0xffff)+((ef&0xffff)<<1)|0)+ff|0;$=((rf>>>16)+(ef>>>16<<1)|0)+(X>>>16)|0;lf[(pf|8)>>2]=$<<16|X&0xffff;ff=$>>>16;if(ff){rf=lf[(pf|12)>>2]|0;X=(rf&0xffff)+ff|0;$=(rf>>>16)+(X>>>16)|0;lf[(pf|12)>>2]=$<<16|X&0xffff}}for(af=0;(af|0)<(t|0);af=af+16|0){hf=f+af|0,pf=e+(af<<1)|0;h=lf[hf>>2]|0,r=h&0xffff,h=h>>>16,u=lf[(hf|4)>>2]|0,n=u&0xffff,u=u>>>16;M=lf[(hf|8)>>2]|0,v=M&0xffff,M=M>>>16,U=lf[(hf|12)>>2]|0,d=U&0xffff,U=U>>>16;X=yf(r,v)|0;Y=yf(h,v)|0;$=((yf(r,M)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(h,M)|0)+(Y>>>16)|0)+($>>>16)|0;R=$<<16|X&0xffff;X=(yf(r,d)|0)+(ef&0xffff)|0;Y=(yf(h,d)|0)+(ef>>>16)|0;$=((yf(r,U)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(h,U)|0)+(Y>>>16)|0)+($>>>16)|0;T=$<<16|X&0xffff;Z=ef;X=(yf(n,v)|0)+(T&0xffff)|0;Y=(yf(u,v)|0)+(T>>>16)|0;$=((yf(n,M)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(u,M)|0)+(Y>>>16)|0)+($>>>16)|0;T=$<<16|X&0xffff;X=((yf(n,d)|0)+(Z&0xffff)|0)+(ef&0xffff)|0;Y=((yf(u,d)|0)+(Z>>>16)|0)+(ef>>>16)|0;$=((yf(n,U)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(u,U)|0)+(Y>>>16)|0)+($>>>16)|0;Z=$<<16|X&0xffff;B=ef;rf=lf[(pf|8)>>2]|0;X=(rf&0xffff)+((R&0xffff)<<1)|0;$=((rf>>>16)+(R>>>16<<1)|0)+(X>>>16)|0;lf[(pf|8)>>2]=$<<16|X&0xffff;ff=$>>>16;rf=lf[(pf|12)>>2]|0;X=((rf&0xffff)+((T&0xffff)<<1)|0)+ff|0;$=((rf>>>16)+(T>>>16<<1)|0)+(X>>>16)|0;lf[(pf|12)>>2]=$<<16|X&0xffff;ff=$>>>16;rf=lf[(pf|16)>>2]|0;X=((rf&0xffff)+((Z&0xffff)<<1)|0)+ff|0;$=((rf>>>16)+(Z>>>16<<1)|0)+(X>>>16)|0;lf[(pf|16)>>2]=$<<16|X&0xffff;ff=$>>>16;rf=lf[(pf|20)>>2]|0;X=((rf&0xffff)+((B&0xffff)<<1)|0)+ff|0;$=((rf>>>16)+(B>>>16<<1)|0)+(X>>>16)|0;lf[(pf|20)>>2]=$<<16|X&0xffff;ff=$>>>16;for(xf=24;!!ff&(xf|0)<32;xf=xf+4|0){rf=lf[(pf|xf)>>2]|0;X=(rf&0xffff)+ff|0;$=(rf>>>16)+(X>>>16)|0;lf[(pf|xf)>>2]=$<<16|X&0xffff;ff=$>>>16}}for(af=0;(af|0)<(t|0);af=af+32|0){hf=f+af|0,pf=e+(af<<1)|0;h=lf[hf>>2]|0,r=h&0xffff,h=h>>>16,u=lf[(hf|4)>>2]|0,n=u&0xffff,u=u>>>16,p=lf[(hf|8)>>2]|0,i=p&0xffff,p=p>>>16,l=lf[(hf|12)>>2]|0,s=l&0xffff,l=l>>>16;M=lf[(hf|16)>>2]|0,v=M&0xffff,M=M>>>16,U=lf[(hf|20)>>2]|0,d=U&0xffff,U=U>>>16,O=lf[(hf|24)>>2]|0,w=O&0xffff,O=O>>>16,H=lf[(hf|28)>>2]|0,A=H&0xffff,H=H>>>16;X=yf(r,v)|0;Y=yf(h,v)|0;$=((yf(r,M)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(h,M)|0)+(Y>>>16)|0)+($>>>16)|0;R=$<<16|X&0xffff;X=(yf(r,d)|0)+(ef&0xffff)|0;Y=(yf(h,d)|0)+(ef>>>16)|0;$=((yf(r,U)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(h,U)|0)+(Y>>>16)|0)+($>>>16)|0;T=$<<16|X&0xffff;X=(yf(r,w)|0)+(ef&0xffff)|0;Y=(yf(h,w)|0)+(ef>>>16)|0;$=((yf(r,O)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(h,O)|0)+(Y>>>16)|0)+($>>>16)|0;Z=$<<16|X&0xffff;X=(yf(r,A)|0)+(ef&0xffff)|0;Y=(yf(h,A)|0)+(ef>>>16)|0;$=((yf(r,H)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(h,H)|0)+(Y>>>16)|0)+($>>>16)|0;B=$<<16|X&0xffff;I=ef;X=(yf(n,v)|0)+(T&0xffff)|0;Y=(yf(u,v)|0)+(T>>>16)|0;$=((yf(n,M)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(u,M)|0)+(Y>>>16)|0)+($>>>16)|0;T=$<<16|X&0xffff;X=((yf(n,d)|0)+(Z&0xffff)|0)+(ef&0xffff)|0;Y=((yf(u,d)|0)+(Z>>>16)|0)+(ef>>>16)|0;$=((yf(n,U)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(u,U)|0)+(Y>>>16)|0)+($>>>16)|0;Z=$<<16|X&0xffff;X=((yf(n,w)|0)+(B&0xffff)|0)+(ef&0xffff)|0;Y=((yf(u,w)|0)+(B>>>16)|0)+(ef>>>16)|0;$=((yf(n,O)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(u,O)|0)+(Y>>>16)|0)+($>>>16)|0;B=$<<16|X&0xffff;X=((yf(n,A)|0)+(I&0xffff)|0)+(ef&0xffff)|0;Y=((yf(u,A)|0)+(I>>>16)|0)+(ef>>>16)|0;$=((yf(n,H)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(u,H)|0)+(Y>>>16)|0)+($>>>16)|0;I=$<<16|X&0xffff;z=ef;X=(yf(i,v)|0)+(Z&0xffff)|0;Y=(yf(p,v)|0)+(Z>>>16)|0;$=((yf(i,M)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(p,M)|0)+(Y>>>16)|0)+($>>>16)|0;Z=$<<16|X&0xffff;X=((yf(i,d)|0)+(B&0xffff)|0)+(ef&0xffff)|0;Y=((yf(p,d)|0)+(B>>>16)|0)+(ef>>>16)|0;$=((yf(i,U)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(p,U)|0)+(Y>>>16)|0)+($>>>16)|0;B=$<<16|X&0xffff;X=((yf(i,w)|0)+(I&0xffff)|0)+(ef&0xffff)|0;Y=((yf(p,w)|0)+(I>>>16)|0)+(ef>>>16)|0;$=((yf(i,O)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(p,O)|0)+(Y>>>16)|0)+($>>>16)|0;I=$<<16|X&0xffff;X=((yf(i,A)|0)+(z&0xffff)|0)+(ef&0xffff)|0;Y=((yf(p,A)|0)+(z>>>16)|0)+(ef>>>16)|0;$=((yf(i,H)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(p,H)|0)+(Y>>>16)|0)+($>>>16)|0;z=$<<16|X&0xffff;G=ef;X=(yf(s,v)|0)+(B&0xffff)|0;Y=(yf(l,v)|0)+(B>>>16)|0;$=((yf(s,M)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(l,M)|0)+(Y>>>16)|0)+($>>>16)|0;B=$<<16|X&0xffff;X=((yf(s,d)|0)+(I&0xffff)|0)+(ef&0xffff)|0;Y=((yf(l,d)|0)+(I>>>16)|0)+(ef>>>16)|0;$=((yf(s,U)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(l,U)|0)+(Y>>>16)|0)+($>>>16)|0;I=$<<16|X&0xffff;X=((yf(s,w)|0)+(z&0xffff)|0)+(ef&0xffff)|0;Y=((yf(l,w)|0)+(z>>>16)|0)+(ef>>>16)|0;$=((yf(s,O)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(l,O)|0)+(Y>>>16)|0)+($>>>16)|0;z=$<<16|X&0xffff;X=((yf(s,A)|0)+(G&0xffff)|0)+(ef&0xffff)|0;Y=((yf(l,A)|0)+(G>>>16)|0)+(ef>>>16)|0;$=((yf(s,H)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(l,H)|0)+(Y>>>16)|0)+($>>>16)|0;G=$<<16|X&0xffff;N=ef;rf=lf[(pf|16)>>2]|0;X=(rf&0xffff)+((R&0xffff)<<1)|0;$=((rf>>>16)+(R>>>16<<1)|0)+(X>>>16)|0;lf[(pf|16)>>2]=$<<16|X&0xffff;ff=$>>>16;rf=lf[(pf|20)>>2]|0;X=((rf&0xffff)+((T&0xffff)<<1)|0)+ff|0;$=((rf>>>16)+(T>>>16<<1)|0)+(X>>>16)|0;lf[(pf|20)>>2]=$<<16|X&0xffff;ff=$>>>16;rf=lf[(pf|24)>>2]|0;X=((rf&0xffff)+((Z&0xffff)<<1)|0)+ff|0;$=((rf>>>16)+(Z>>>16<<1)|0)+(X>>>16)|0;lf[(pf|24)>>2]=$<<16|X&0xffff;ff=$>>>16;rf=lf[(pf|28)>>2]|0;X=((rf&0xffff)+((B&0xffff)<<1)|0)+ff|0;$=((rf>>>16)+(B>>>16<<1)|0)+(X>>>16)|0;lf[(pf|28)>>2]=$<<16|X&0xffff;ff=$>>>16;rf=lf[pf+32>>2]|0;X=((rf&0xffff)+((I&0xffff)<<1)|0)+ff|0;$=((rf>>>16)+(I>>>16<<1)|0)+(X>>>16)|0;lf[pf+32>>2]=$<<16|X&0xffff;ff=$>>>16;rf=lf[pf+36>>2]|0;X=((rf&0xffff)+((z&0xffff)<<1)|0)+ff|0;$=((rf>>>16)+(z>>>16<<1)|0)+(X>>>16)|0;lf[pf+36>>2]=$<<16|X&0xffff;ff=$>>>16;rf=lf[pf+40>>2]|0;X=((rf&0xffff)+((G&0xffff)<<1)|0)+ff|0;$=((rf>>>16)+(G>>>16<<1)|0)+(X>>>16)|0;lf[pf+40>>2]=$<<16|X&0xffff;ff=$>>>16;rf=lf[pf+44>>2]|0;X=((rf&0xffff)+((N&0xffff)<<1)|0)+ff|0;$=((rf>>>16)+(N>>>16<<1)|0)+(X>>>16)|0;lf[pf+44>>2]=$<<16|X&0xffff;ff=$>>>16;for(xf=48;!!ff&(xf|0)<64;xf=xf+4|0){rf=lf[pf+xf>>2]|0;X=(rf&0xffff)+ff|0;$=(rf>>>16)+(X>>>16)|0;lf[pf+xf>>2]=$<<16|X&0xffff;ff=$>>>16}}for(nf=32;(nf|0)<(t|0);nf=nf<<1){sf=nf<<1;for(af=0;(af|0)<(t|0);af=af+sf|0){pf=e+(af<<1)|0;tf=0;for(of=0;(of|0)<(nf|0);of=of+32|0){hf=(f+af|0)+of|0;h=lf[hf>>2]|0,r=h&0xffff,h=h>>>16,u=lf[(hf|4)>>2]|0,n=u&0xffff,u=u>>>16,p=lf[(hf|8)>>2]|0,i=p&0xffff,p=p>>>16,l=lf[(hf|12)>>2]|0,s=l&0xffff,l=l>>>16,y=lf[(hf|16)>>2]|0,a=y&0xffff,y=y>>>16,b=lf[(hf|20)>>2]|0,o=b&0xffff,b=b>>>16,_=lf[(hf|24)>>2]|0,c=_&0xffff,_=_>>>16,g=lf[(hf|28)>>2]|0,x=g&0xffff,g=g>>>16;j=q=F=V=K=W=J=Q=ff=0;for(cf=0;(cf|0)<(nf|0);cf=cf+32|0){uf=((f+af|0)+nf|0)+cf|0;M=lf[uf>>2]|0,v=M&0xffff,M=M>>>16,U=lf[(uf|4)>>2]|0,d=U&0xffff,U=U>>>16,O=lf[(uf|8)>>2]|0,w=O&0xffff,O=O>>>16,H=lf[(uf|12)>>2]|0,A=H&0xffff,H=H>>>16,L=lf[(uf|16)>>2]|0,m=L&0xffff,L=L>>>16,k=lf[(uf|20)>>2]|0,E=k&0xffff,k=k>>>16,P=lf[(uf|24)>>2]|0,C=P&0xffff,P=P>>>16,D=lf[(uf|28)>>2]|0,S=D&0xffff,D=D>>>16;R=T=Z=B=I=z=G=N=0;X=((yf(r,v)|0)+(R&0xffff)|0)+(j&0xffff)|0;Y=((yf(h,v)|0)+(R>>>16)|0)+(j>>>16)|0;$=((yf(r,M)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(h,M)|0)+(Y>>>16)|0)+($>>>16)|0;R=$<<16|X&0xffff;X=((yf(r,d)|0)+(T&0xffff)|0)+(ef&0xffff)|0;Y=((yf(h,d)|0)+(T>>>16)|0)+(ef>>>16)|0;$=((yf(r,U)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(h,U)|0)+(Y>>>16)|0)+($>>>16)|0;T=$<<16|X&0xffff;X=((yf(r,w)|0)+(Z&0xffff)|0)+(ef&0xffff)|0;Y=((yf(h,w)|0)+(Z>>>16)|0)+(ef>>>16)|0;$=((yf(r,O)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(h,O)|0)+(Y>>>16)|0)+($>>>16)|0;Z=$<<16|X&0xffff;X=((yf(r,A)|0)+(B&0xffff)|0)+(ef&0xffff)|0;Y=((yf(h,A)|0)+(B>>>16)|0)+(ef>>>16)|0;$=((yf(r,H)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(h,H)|0)+(Y>>>16)|0)+($>>>16)|0;B=$<<16|X&0xffff;X=((yf(r,m)|0)+(I&0xffff)|0)+(ef&0xffff)|0;Y=((yf(h,m)|0)+(I>>>16)|0)+(ef>>>16)|0;$=((yf(r,L)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(h,L)|0)+(Y>>>16)|0)+($>>>16)|0;I=$<<16|X&0xffff;X=((yf(r,E)|0)+(z&0xffff)|0)+(ef&0xffff)|0;Y=((yf(h,E)|0)+(z>>>16)|0)+(ef>>>16)|0;$=((yf(r,k)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(h,k)|0)+(Y>>>16)|0)+($>>>16)|0;z=$<<16|X&0xffff;X=((yf(r,C)|0)+(G&0xffff)|0)+(ef&0xffff)|0;Y=((yf(h,C)|0)+(G>>>16)|0)+(ef>>>16)|0;$=((yf(r,P)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(h,P)|0)+(Y>>>16)|0)+($>>>16)|0;G=$<<16|X&0xffff;X=((yf(r,S)|0)+(N&0xffff)|0)+(ef&0xffff)|0;Y=((yf(h,S)|0)+(N>>>16)|0)+(ef>>>16)|0;$=((yf(r,D)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(h,D)|0)+(Y>>>16)|0)+($>>>16)|0;N=$<<16|X&0xffff;j=ef;X=((yf(n,v)|0)+(T&0xffff)|0)+(q&0xffff)|0;Y=((yf(u,v)|0)+(T>>>16)|0)+(q>>>16)|0;$=((yf(n,M)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(u,M)|0)+(Y>>>16)|0)+($>>>16)|0;T=$<<16|X&0xffff;X=((yf(n,d)|0)+(Z&0xffff)|0)+(ef&0xffff)|0;Y=((yf(u,d)|0)+(Z>>>16)|0)+(ef>>>16)|0;$=((yf(n,U)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(u,U)|0)+(Y>>>16)|0)+($>>>16)|0;Z=$<<16|X&0xffff;X=((yf(n,w)|0)+(B&0xffff)|0)+(ef&0xffff)|0;Y=((yf(u,w)|0)+(B>>>16)|0)+(ef>>>16)|0;$=((yf(n,O)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(u,O)|0)+(Y>>>16)|0)+($>>>16)|0;B=$<<16|X&0xffff;X=((yf(n,A)|0)+(I&0xffff)|0)+(ef&0xffff)|0;Y=((yf(u,A)|0)+(I>>>16)|0)+(ef>>>16)|0;$=((yf(n,H)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(u,H)|0)+(Y>>>16)|0)+($>>>16)|0;I=$<<16|X&0xffff;X=((yf(n,m)|0)+(z&0xffff)|0)+(ef&0xffff)|0;Y=((yf(u,m)|0)+(z>>>16)|0)+(ef>>>16)|0;$=((yf(n,L)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(u,L)|0)+(Y>>>16)|0)+($>>>16)|0;z=$<<16|X&0xffff;X=((yf(n,E)|0)+(G&0xffff)|0)+(ef&0xffff)|0;Y=((yf(u,E)|0)+(G>>>16)|0)+(ef>>>16)|0;$=((yf(n,k)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(u,k)|0)+(Y>>>16)|0)+($>>>16)|0;G=$<<16|X&0xffff;X=((yf(n,C)|0)+(N&0xffff)|0)+(ef&0xffff)|0;Y=((yf(u,C)|0)+(N>>>16)|0)+(ef>>>16)|0;$=((yf(n,P)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(u,P)|0)+(Y>>>16)|0)+($>>>16)|0;N=$<<16|X&0xffff;X=((yf(n,S)|0)+(j&0xffff)|0)+(ef&0xffff)|0;Y=((yf(u,S)|0)+(j>>>16)|0)+(ef>>>16)|0;$=((yf(n,D)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(u,D)|0)+(Y>>>16)|0)+($>>>16)|0;j=$<<16|X&0xffff;q=ef;X=((yf(i,v)|0)+(Z&0xffff)|0)+(F&0xffff)|0;Y=((yf(p,v)|0)+(Z>>>16)|0)+(F>>>16)|0;$=((yf(i,M)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(p,M)|0)+(Y>>>16)|0)+($>>>16)|0;Z=$<<16|X&0xffff;X=((yf(i,d)|0)+(B&0xffff)|0)+(ef&0xffff)|0;Y=((yf(p,d)|0)+(B>>>16)|0)+(ef>>>16)|0;$=((yf(i,U)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(p,U)|0)+(Y>>>16)|0)+($>>>16)|0;B=$<<16|X&0xffff;X=((yf(i,w)|0)+(I&0xffff)|0)+(ef&0xffff)|0;Y=((yf(p,w)|0)+(I>>>16)|0)+(ef>>>16)|0;$=((yf(i,O)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(p,O)|0)+(Y>>>16)|0)+($>>>16)|0;I=$<<16|X&0xffff;X=((yf(i,A)|0)+(z&0xffff)|0)+(ef&0xffff)|0;Y=((yf(p,A)|0)+(z>>>16)|0)+(ef>>>16)|0;$=((yf(i,H)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(p,H)|0)+(Y>>>16)|0)+($>>>16)|0;z=$<<16|X&0xffff;X=((yf(i,m)|0)+(G&0xffff)|0)+(ef&0xffff)|0;Y=((yf(p,m)|0)+(G>>>16)|0)+(ef>>>16)|0;$=((yf(i,L)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(p,L)|0)+(Y>>>16)|0)+($>>>16)|0;G=$<<16|X&0xffff;X=((yf(i,E)|0)+(N&0xffff)|0)+(ef&0xffff)|0;Y=((yf(p,E)|0)+(N>>>16)|0)+(ef>>>16)|0;$=((yf(i,k)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(p,k)|0)+(Y>>>16)|0)+($>>>16)|0;N=$<<16|X&0xffff;X=((yf(i,C)|0)+(j&0xffff)|0)+(ef&0xffff)|0;Y=((yf(p,C)|0)+(j>>>16)|0)+(ef>>>16)|0;$=((yf(i,P)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(p,P)|0)+(Y>>>16)|0)+($>>>16)|0;j=$<<16|X&0xffff;X=((yf(i,S)|0)+(q&0xffff)|0)+(ef&0xffff)|0;Y=((yf(p,S)|0)+(q>>>16)|0)+(ef>>>16)|0;$=((yf(i,D)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(p,D)|0)+(Y>>>16)|0)+($>>>16)|0;q=$<<16|X&0xffff;F=ef;X=((yf(s,v)|0)+(B&0xffff)|0)+(V&0xffff)|0;Y=((yf(l,v)|0)+(B>>>16)|0)+(V>>>16)|0;$=((yf(s,M)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(l,M)|0)+(Y>>>16)|0)+($>>>16)|0;B=$<<16|X&0xffff;X=((yf(s,d)|0)+(I&0xffff)|0)+(ef&0xffff)|0;Y=((yf(l,d)|0)+(I>>>16)|0)+(ef>>>16)|0;$=((yf(s,U)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(l,U)|0)+(Y>>>16)|0)+($>>>16)|0;I=$<<16|X&0xffff;X=((yf(s,w)|0)+(z&0xffff)|0)+(ef&0xffff)|0;Y=((yf(l,w)|0)+(z>>>16)|0)+(ef>>>16)|0;$=((yf(s,O)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(l,O)|0)+(Y>>>16)|0)+($>>>16)|0;z=$<<16|X&0xffff;X=((yf(s,A)|0)+(G&0xffff)|0)+(ef&0xffff)|0;Y=((yf(l,A)|0)+(G>>>16)|0)+(ef>>>16)|0;$=((yf(s,H)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(l,H)|0)+(Y>>>16)|0)+($>>>16)|0;G=$<<16|X&0xffff;X=((yf(s,m)|0)+(N&0xffff)|0)+(ef&0xffff)|0;Y=((yf(l,m)|0)+(N>>>16)|0)+(ef>>>16)|0;$=((yf(s,L)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(l,L)|0)+(Y>>>16)|0)+($>>>16)|0;N=$<<16|X&0xffff;X=((yf(s,E)|0)+(j&0xffff)|0)+(ef&0xffff)|0;Y=((yf(l,E)|0)+(j>>>16)|0)+(ef>>>16)|0;$=((yf(s,k)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(l,k)|0)+(Y>>>16)|0)+($>>>16)|0;j=$<<16|X&0xffff;X=((yf(s,C)|0)+(q&0xffff)|0)+(ef&0xffff)|0;Y=((yf(l,C)|0)+(q>>>16)|0)+(ef>>>16)|0;$=((yf(s,P)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(l,P)|0)+(Y>>>16)|0)+($>>>16)|0;q=$<<16|X&0xffff;X=((yf(s,S)|0)+(F&0xffff)|0)+(ef&0xffff)|0;Y=((yf(l,S)|0)+(F>>>16)|0)+(ef>>>16)|0;$=((yf(s,D)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(l,D)|0)+(Y>>>16)|0)+($>>>16)|0;F=$<<16|X&0xffff;V=ef;X=((yf(a,v)|0)+(I&0xffff)|0)+(K&0xffff)|0;Y=((yf(y,v)|0)+(I>>>16)|0)+(K>>>16)|0;$=((yf(a,M)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(y,M)|0)+(Y>>>16)|0)+($>>>16)|0;I=$<<16|X&0xffff;X=((yf(a,d)|0)+(z&0xffff)|0)+(ef&0xffff)|0;Y=((yf(y,d)|0)+(z>>>16)|0)+(ef>>>16)|0;$=((yf(a,U)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(y,U)|0)+(Y>>>16)|0)+($>>>16)|0;z=$<<16|X&0xffff;X=((yf(a,w)|0)+(G&0xffff)|0)+(ef&0xffff)|0;Y=((yf(y,w)|0)+(G>>>16)|0)+(ef>>>16)|0;$=((yf(a,O)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(y,O)|0)+(Y>>>16)|0)+($>>>16)|0;G=$<<16|X&0xffff;X=((yf(a,A)|0)+(N&0xffff)|0)+(ef&0xffff)|0;Y=((yf(y,A)|0)+(N>>>16)|0)+(ef>>>16)|0;$=((yf(a,H)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(y,H)|0)+(Y>>>16)|0)+($>>>16)|0;N=$<<16|X&0xffff;X=((yf(a,m)|0)+(j&0xffff)|0)+(ef&0xffff)|0;Y=((yf(y,m)|0)+(j>>>16)|0)+(ef>>>16)|0;$=((yf(a,L)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(y,L)|0)+(Y>>>16)|0)+($>>>16)|0;j=$<<16|X&0xffff;X=((yf(a,E)|0)+(q&0xffff)|0)+(ef&0xffff)|0;Y=((yf(y,E)|0)+(q>>>16)|0)+(ef>>>16)|0;$=((yf(a,k)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(y,k)|0)+(Y>>>16)|0)+($>>>16)|0;q=$<<16|X&0xffff;X=((yf(a,C)|0)+(F&0xffff)|0)+(ef&0xffff)|0;Y=((yf(y,C)|0)+(F>>>16)|0)+(ef>>>16)|0;$=((yf(a,P)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(y,P)|0)+(Y>>>16)|0)+($>>>16)|0;F=$<<16|X&0xffff;X=((yf(a,S)|0)+(V&0xffff)|0)+(ef&0xffff)|0;Y=((yf(y,S)|0)+(V>>>16)|0)+(ef>>>16)|0;$=((yf(a,D)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(y,D)|0)+(Y>>>16)|0)+($>>>16)|0;V=$<<16|X&0xffff;K=ef;X=((yf(o,v)|0)+(z&0xffff)|0)+(W&0xffff)|0;Y=((yf(b,v)|0)+(z>>>16)|0)+(W>>>16)|0;$=((yf(o,M)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(b,M)|0)+(Y>>>16)|0)+($>>>16)|0;z=$<<16|X&0xffff;X=((yf(o,d)|0)+(G&0xffff)|0)+(ef&0xffff)|0;Y=((yf(b,d)|0)+(G>>>16)|0)+(ef>>>16)|0;$=((yf(o,U)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(b,U)|0)+(Y>>>16)|0)+($>>>16)|0;G=$<<16|X&0xffff;X=((yf(o,w)|0)+(N&0xffff)|0)+(ef&0xffff)|0;Y=((yf(b,w)|0)+(N>>>16)|0)+(ef>>>16)|0;$=((yf(o,O)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(b,O)|0)+(Y>>>16)|0)+($>>>16)|0;N=$<<16|X&0xffff;X=((yf(o,A)|0)+(j&0xffff)|0)+(ef&0xffff)|0;Y=((yf(b,A)|0)+(j>>>16)|0)+(ef>>>16)|0;$=((yf(o,H)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(b,H)|0)+(Y>>>16)|0)+($>>>16)|0;j=$<<16|X&0xffff;X=((yf(o,m)|0)+(q&0xffff)|0)+(ef&0xffff)|0;Y=((yf(b,m)|0)+(q>>>16)|0)+(ef>>>16)|0;$=((yf(o,L)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(b,L)|0)+(Y>>>16)|0)+($>>>16)|0;q=$<<16|X&0xffff;X=((yf(o,E)|0)+(F&0xffff)|0)+(ef&0xffff)|0;Y=((yf(b,E)|0)+(F>>>16)|0)+(ef>>>16)|0;$=((yf(o,k)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(b,k)|0)+(Y>>>16)|0)+($>>>16)|0;F=$<<16|X&0xffff;X=((yf(o,C)|0)+(V&0xffff)|0)+(ef&0xffff)|0;Y=((yf(b,C)|0)+(V>>>16)|0)+(ef>>>16)|0;$=((yf(o,P)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(b,P)|0)+(Y>>>16)|0)+($>>>16)|0;V=$<<16|X&0xffff;X=((yf(o,S)|0)+(K&0xffff)|0)+(ef&0xffff)|0;Y=((yf(b,S)|0)+(K>>>16)|0)+(ef>>>16)|0;$=((yf(o,D)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(b,D)|0)+(Y>>>16)|0)+($>>>16)|0;K=$<<16|X&0xffff;W=ef;X=((yf(c,v)|0)+(G&0xffff)|0)+(J&0xffff)|0;Y=((yf(_,v)|0)+(G>>>16)|0)+(J>>>16)|0;$=((yf(c,M)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(_,M)|0)+(Y>>>16)|0)+($>>>16)|0;G=$<<16|X&0xffff;X=((yf(c,d)|0)+(N&0xffff)|0)+(ef&0xffff)|0;Y=((yf(_,d)|0)+(N>>>16)|0)+(ef>>>16)|0;$=((yf(c,U)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(_,U)|0)+(Y>>>16)|0)+($>>>16)|0;N=$<<16|X&0xffff;X=((yf(c,w)|0)+(j&0xffff)|0)+(ef&0xffff)|0;Y=((yf(_,w)|0)+(j>>>16)|0)+(ef>>>16)|0;$=((yf(c,O)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(_,O)|0)+(Y>>>16)|0)+($>>>16)|0;j=$<<16|X&0xffff;X=((yf(c,A)|0)+(q&0xffff)|0)+(ef&0xffff)|0;Y=((yf(_,A)|0)+(q>>>16)|0)+(ef>>>16)|0;$=((yf(c,H)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(_,H)|0)+(Y>>>16)|0)+($>>>16)|0;q=$<<16|X&0xffff;X=((yf(c,m)|0)+(F&0xffff)|0)+(ef&0xffff)|0;Y=((yf(_,m)|0)+(F>>>16)|0)+(ef>>>16)|0;$=((yf(c,L)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(_,L)|0)+(Y>>>16)|0)+($>>>16)|0;F=$<<16|X&0xffff;X=((yf(c,E)|0)+(V&0xffff)|0)+(ef&0xffff)|0;Y=((yf(_,E)|0)+(V>>>16)|0)+(ef>>>16)|0;$=((yf(c,k)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(_,k)|0)+(Y>>>16)|0)+($>>>16)|0;V=$<<16|X&0xffff;X=((yf(c,C)|0)+(K&0xffff)|0)+(ef&0xffff)|0;Y=((yf(_,C)|0)+(K>>>16)|0)+(ef>>>16)|0;$=((yf(c,P)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(_,P)|0)+(Y>>>16)|0)+($>>>16)|0;K=$<<16|X&0xffff;X=((yf(c,S)|0)+(W&0xffff)|0)+(ef&0xffff)|0;Y=((yf(_,S)|0)+(W>>>16)|0)+(ef>>>16)|0;$=((yf(c,D)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(_,D)|0)+(Y>>>16)|0)+($>>>16)|0;W=$<<16|X&0xffff;J=ef;X=((yf(x,v)|0)+(N&0xffff)|0)+(Q&0xffff)|0;Y=((yf(g,v)|0)+(N>>>16)|0)+(Q>>>16)|0;$=((yf(x,M)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(g,M)|0)+(Y>>>16)|0)+($>>>16)|0;N=$<<16|X&0xffff;X=((yf(x,d)|0)+(j&0xffff)|0)+(ef&0xffff)|0;Y=((yf(g,d)|0)+(j>>>16)|0)+(ef>>>16)|0;$=((yf(x,U)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(g,U)|0)+(Y>>>16)|0)+($>>>16)|0;j=$<<16|X&0xffff;X=((yf(x,w)|0)+(q&0xffff)|0)+(ef&0xffff)|0;Y=((yf(g,w)|0)+(q>>>16)|0)+(ef>>>16)|0;$=((yf(x,O)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(g,O)|0)+(Y>>>16)|0)+($>>>16)|0;q=$<<16|X&0xffff;X=((yf(x,A)|0)+(F&0xffff)|0)+(ef&0xffff)|0;Y=((yf(g,A)|0)+(F>>>16)|0)+(ef>>>16)|0;$=((yf(x,H)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(g,H)|0)+(Y>>>16)|0)+($>>>16)|0;F=$<<16|X&0xffff;X=((yf(x,m)|0)+(V&0xffff)|0)+(ef&0xffff)|0;Y=((yf(g,m)|0)+(V>>>16)|0)+(ef>>>16)|0;$=((yf(x,L)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(g,L)|0)+(Y>>>16)|0)+($>>>16)|0;V=$<<16|X&0xffff;X=((yf(x,E)|0)+(K&0xffff)|0)+(ef&0xffff)|0;Y=((yf(g,E)|0)+(K>>>16)|0)+(ef>>>16)|0;$=((yf(x,k)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(g,k)|0)+(Y>>>16)|0)+($>>>16)|0;K=$<<16|X&0xffff;X=((yf(x,C)|0)+(W&0xffff)|0)+(ef&0xffff)|0;Y=((yf(g,C)|0)+(W>>>16)|0)+(ef>>>16)|0;$=((yf(x,P)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(g,P)|0)+(Y>>>16)|0)+($>>>16)|0;W=$<<16|X&0xffff;X=((yf(x,S)|0)+(J&0xffff)|0)+(ef&0xffff)|0;Y=((yf(g,S)|0)+(J>>>16)|0)+(ef>>>16)|0;$=((yf(x,D)|0)+(Y&0xffff)|0)+(X>>>16)|0;ef=((yf(g,D)|0)+(Y>>>16)|0)+($>>>16)|0;J=$<<16|X&0xffff;Q=ef;xf=nf+(of+cf|0)|0;rf=lf[pf+xf>>2]|0;X=((rf&0xffff)+((R&0xffff)<<1)|0)+ff|0;$=((rf>>>16)+(R>>>16<<1)|0)+(X>>>16)|0;lf[pf+xf>>2]=$<<16|X&0xffff;ff=$>>>16;xf=xf+4|0;rf=lf[pf+xf>>2]|0;X=((rf&0xffff)+((T&0xffff)<<1)|0)+ff|0;$=((rf>>>16)+(T>>>16<<1)|0)+(X>>>16)|0;lf[pf+xf>>2]=$<<16|X&0xffff;ff=$>>>16;xf=xf+4|0;rf=lf[pf+xf>>2]|0;X=((rf&0xffff)+((Z&0xffff)<<1)|0)+ff|0;$=((rf>>>16)+(Z>>>16<<1)|0)+(X>>>16)|0;lf[pf+xf>>2]=$<<16|X&0xffff;ff=$>>>16;xf=xf+4|0;rf=lf[pf+xf>>2]|0;X=((rf&0xffff)+((B&0xffff)<<1)|0)+ff|0;$=((rf>>>16)+(B>>>16<<1)|0)+(X>>>16)|0;lf[pf+xf>>2]=$<<16|X&0xffff;ff=$>>>16;xf=xf+4|0;rf=lf[pf+xf>>2]|0;X=((rf&0xffff)+((I&0xffff)<<1)|0)+ff|0;$=((rf>>>16)+(I>>>16<<1)|0)+(X>>>16)|0;lf[pf+xf>>2]=$<<16|X&0xffff;ff=$>>>16;xf=xf+4|0;rf=lf[pf+xf>>2]|0;X=((rf&0xffff)+((z&0xffff)<<1)|0)+ff|0;$=((rf>>>16)+(z>>>16<<1)|0)+(X>>>16)|0;lf[pf+xf>>2]=$<<16|X&0xffff;ff=$>>>16;xf=xf+4|0;rf=lf[pf+xf>>2]|0;X=((rf&0xffff)+((G&0xffff)<<1)|0)+ff|0;$=((rf>>>16)+(G>>>16<<1)|0)+(X>>>16)|0;lf[pf+xf>>2]=$<<16|X&0xffff;ff=$>>>16;xf=xf+4|0;rf=lf[pf+xf>>2]|0;X=((rf&0xffff)+((N&0xffff)<<1)|0)+ff|0;$=((rf>>>16)+(N>>>16<<1)|0)+(X>>>16)|0;lf[pf+xf>>2]=$<<16|X&0xffff;ff=$>>>16}xf=nf+(of+cf|0)|0;rf=lf[pf+xf>>2]|0;X=(((rf&0xffff)+((j&0xffff)<<1)|0)+ff|0)+tf|0;$=((rf>>>16)+(j>>>16<<1)|0)+(X>>>16)|0;lf[pf+xf>>2]=$<<16|X&0xffff;ff=$>>>16;xf=xf+4|0;rf=lf[pf+xf>>2]|0;X=((rf&0xffff)+((q&0xffff)<<1)|0)+ff|0;$=((rf>>>16)+(q>>>16<<1)|0)+(X>>>16)|0;lf[pf+xf>>2]=$<<16|X&0xffff;ff=$>>>16;xf=xf+4|0;rf=lf[pf+xf>>2]|0;X=((rf&0xffff)+((F&0xffff)<<1)|0)+ff|0;$=((rf>>>16)+(F>>>16<<1)|0)+(X>>>16)|0;lf[pf+xf>>2]=$<<16|X&0xffff;ff=$>>>16;xf=xf+4|0;rf=lf[pf+xf>>2]|0;X=((rf&0xffff)+((V&0xffff)<<1)|0)+ff|0;$=((rf>>>16)+(V>>>16<<1)|0)+(X>>>16)|0;lf[pf+xf>>2]=$<<16|X&0xffff;ff=$>>>16;xf=xf+4|0;rf=lf[pf+xf>>2]|0;X=((rf&0xffff)+((K&0xffff)<<1)|0)+ff|0;$=((rf>>>16)+(K>>>16<<1)|0)+(X>>>16)|0;lf[pf+xf>>2]=$<<16|X&0xffff;ff=$>>>16;xf=xf+4|0;rf=lf[pf+xf>>2]|0;X=((rf&0xffff)+((W&0xffff)<<1)|0)+ff|0;$=((rf>>>16)+(W>>>16<<1)|0)+(X>>>16)|0;lf[pf+xf>>2]=$<<16|X&0xffff;ff=$>>>16;xf=xf+4|0;rf=lf[pf+xf>>2]|0;X=((rf&0xffff)+((J&0xffff)<<1)|0)+ff|0;$=((rf>>>16)+(J>>>16<<1)|0)+(X>>>16)|0;lf[pf+xf>>2]=$<<16|X&0xffff;ff=$>>>16;xf=xf+4|0;rf=lf[pf+xf>>2]|0;X=((rf&0xffff)+((Q&0xffff)<<1)|0)+ff|0;$=((rf>>>16)+(Q>>>16<<1)|0)+(X>>>16)|0;lf[pf+xf>>2]=$<<16|X&0xffff;tf=$>>>16}for(xf=xf+4|0;!!tf&(xf|0)<sf<<1;xf=xf+4|0){rf=lf[pf+xf>>2]|0;X=(rf&0xffff)+tf|0;$=(rf>>>16)+(X>>>16)|0;lf[pf+xf>>2]=$<<16|X&0xffff;tf=$>>>16}}}}function x(f,t,e,r,n){f=f|0;t=t|0;e=e|0;r=r|0;n=n|0;var i=0,s=0,a=0,o=0,c=0,x=0,h=0,u=0,p=0,l=0,y=0,b=0,_=0,g=0,v=0,d=0,w=0,A=0,m=0;for(w=t-1&-4;(w|0)>=0;w=w-4|0){i=lf[f+w>>2]|0;if(i){t=w;break}}for(w=r-1&-4;(w|0)>=0;w=w-4|0){s=lf[e+w>>2]|0;if(s){r=w;break}}while((s&0x80000000)==0){s=s<<1;a=a+1|0}c=lf[f+t>>2]|0;if(a){o=c>>>(32-a|0);for(w=t-4|0;(w|0)>=0;w=w-4|0){i=lf[f+w>>2]|0;lf[f+w+4>>2]=c<<a|(a?i>>>(32-a|0):0);c=i}lf[f>>2]=c<<a}if(a){x=lf[e+r>>2]|0;for(w=r-4|0;(w|0)>=0;w=w-4|0){s=lf[e+w>>2]|0;lf[e+w+4>>2]=x<<a|s>>>(32-a|0);x=s}lf[e>>2]=x<<a}x=lf[e+r>>2]|0;h=x>>>16,u=x&0xffff;for(w=t;(w|0)>=(r|0);w=w-4|0){A=w-r|0;c=lf[f+w>>2]|0;p=(o>>>0)/(h>>>0)|0,y=(o>>>0)%(h>>>0)|0,_=yf(p,u)|0;while((p|0)==0x10000|_>>>0>(y<<16|c>>>16)>>>0){p=p-1|0,y=y+h|0,_=_-u|0;if((y|0)>=0x10000)break}v=0,d=0;for(m=0;(m|0)<=(r|0);m=m+4|0){s=lf[e+m>>2]|0;_=(yf(p,s&0xffff)|0)+(v>>>16)|0;g=(yf(p,s>>>16)|0)+(_>>>16)|0;s=v&0xffff|_<<16;v=g;i=lf[f+A+m>>2]|0;_=((i&0xffff)-(s&0xffff)|0)+d|0;g=((i>>>16)-(s>>>16)|0)+(_>>16)|0;lf[f+A+m>>2]=g<<16|_&0xffff;d=g>>16}_=((o&0xffff)-(v&0xffff)|0)+d|0;g=((o>>>16)-(v>>>16)|0)+(_>>16)|0;o=g<<16|_&0xffff;d=g>>16;if(d){p=p-1|0;d=0;for(m=0;(m|0)<=(r|0);m=m+4|0){s=lf[e+m>>2]|0;i=lf[f+A+m>>2]|0;_=(i&0xffff)+d|0;g=(i>>>16)+s+(_>>>16)|0;lf[f+A+m>>2]=g<<16|_&0xffff;d=g>>>16}o=o+d|0}c=lf[f+w>>2]|0;i=o<<16|c>>>16;l=(i>>>0)/(h>>>0)|0,b=(i>>>0)%(h>>>0)|0,_=yf(l,u)|0;while((l|0)==0x10000|_>>>0>(b<<16|c&0xffff)>>>0){l=l-1|0,b=b+h|0,_=_-u|0;if((b|0)>=0x10000)break}v=0,d=0;for(m=0;(m|0)<=(r|0);m=m+4|0){s=lf[e+m>>2]|0;_=(yf(l,s&0xffff)|0)+(v&0xffff)|0;g=((yf(l,s>>>16)|0)+(_>>>16)|0)+(v>>>16)|0;s=_&0xffff|g<<16;v=g>>>16;i=lf[f+A+m>>2]|0;_=((i&0xffff)-(s&0xffff)|0)+d|0;g=((i>>>16)-(s>>>16)|0)+(_>>16)|0;d=g>>16;lf[f+A+m>>2]=g<<16|_&0xffff}_=((o&0xffff)-(v&0xffff)|0)+d|0;g=((o>>>16)-(v>>>16)|0)+(_>>16)|0;d=g>>16;if(d){l=l-1|0;d=0;for(m=0;(m|0)<=(r|0);m=m+4|0){s=lf[e+m>>2]|0;i=lf[f+A+m>>2]|0;_=((i&0xffff)+(s&0xffff)|0)+d|0;g=((i>>>16)+(s>>>16)|0)+(_>>>16)|0;d=g>>>16;lf[f+A+m>>2]=_&0xffff|g<<16}}lf[n+A>>2]=p<<16|l;o=lf[f+w>>2]|0}if(a){c=lf[f>>2]|0;for(w=4;(w|0)<=(r|0);w=w+4|0){i=lf[f+w>>2]|0;lf[f+w-4>>2]=i<<(32-a|0)|c>>>a;c=i}lf[f+r>>2]=c>>>a}}function h(f,t,e,r,n,i){f=f|0;t=t|0;e=e|0;r=r|0;n=n|0;i=i|0;var s=0,a=0,o=0,c=0,x=0,h=0,u=0,p=0,l=0,y=0,b=0,_=0,g=0,v=0;s=d(r<<1)|0;m(r<<1,0,s);A(t,f,s);for(_=0;(_|0)<(r|0);_=_+4|0){o=lf[s+_>>2]|0,c=o&0xffff,o=o>>>16;h=n>>>16,x=n&0xffff;u=yf(c,x)|0,p=((yf(c,h)|0)+(yf(o,x)|0)|0)+(u>>>16)|0;c=u&0xffff,o=p&0xffff;b=0;for(g=0;(g|0)<(r|0);g=g+4|0){v=_+g|0;h=lf[e+g>>2]|0,x=h&0xffff,h=h>>>16;y=lf[s+v>>2]|0;u=((yf(c,x)|0)+(b&0xffff)|0)+(y&0xffff)|0;p=((yf(c,h)|0)+(b>>>16)|0)+(y>>>16)|0;l=((yf(o,x)|0)+(p&0xffff)|0)+(u>>>16)|0;b=((yf(o,h)|0)+(l>>>16)|0)+(p>>>16)|0;y=l<<16|u&0xffff;lf[s+v>>2]=y}v=_+g|0;y=lf[s+v>>2]|0;u=((y&0xffff)+(b&0xffff)|0)+a|0;p=((y>>>16)+(b>>>16)|0)+(u>>>16)|0;lf[s+v>>2]=p<<16|u&0xffff;a=p>>>16}A(r,s+r|0,i);w(r<<1);if(a|(E(e,r,i,r)|0)<=0){C(i,r,e,r,i,r)|0}}return{sreset:n,salloc:d,sfree:w,z:m,tst:s,neg:i,cmp:E,add:a,sub:C,mul:o,sqr:c,div:x,mredc:h}};function G(f,t){var e,r,n,i,s=f<0?-1:1,a=t<0?-1:1,o=1,c=0,x=0,h=1;for(f*=s,t*=a,i=f<t,i&&(n=f,f=t,t=n,n=s,s=a,a=n),r=Math.floor(f/t),e=f-r*t;e;)n=o-r*c,o=c,c=n,n=x-r*h,x=h,h=n,f=t,t=e,r=Math.floor(f/t),e=f-r*t;return c*=s,h*=a,i&&(n=c,c=h,h=n),{gcd:t,x:c,y:h}}function N(f,t){var e=f.sign,r=t.sign;e<0&&(f=f.negate()),r<0&&(t=t.negate());var n=f.compare(t);if(n<0){var i=f;f=t,t=i;var s=e;e=r,r=s}var a,o,c,x=Q.ONE,h=Q.ZERO,u=t.bitLength,p=Q.ZERO,l=Q.ONE,y=f.bitLength;for(a=f.divide(t);(o=a.remainder)!==Q.ZERO;)c=a.quotient,a=x.subtract(c.multiply(h).clamp(u)).clamp(u),x=h,h=a,a=p.subtract(c.multiply(l).clamp(y)).clamp(y),p=l,l=a,f=t,t=o,a=f.divide(t);if(e<0&&(h=h.negate()),r<0&&(l=l.negate()),n<0){i=h;h=l,l=i}return{gcd:t,x:h,y:l}}function j(f){if("undefined"==typeof process)if(window.crypto&&window.crypto.getRandomValues)window.crypto.getRandomValues(f);else if(self.crypto&&self.crypto.getRandomValues)self.crypto.getRandomValues(f);else{if(!window.msCrypto||!window.msCrypto.getRandomValues)throw new Error("No secure random number generator available.");window.msCrypto.getRandomValues(f)}else{var t=require("crypto"),e=t.randomBytes(f.length);f.set(e)}}var q,F=function(){var r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(f,t){f.__proto__=t}||function(f,t){for(var e in t)t.hasOwnProperty(e)&&(f[e]=t[e])};return function(f,t){function e(){this.constructor=f}r(f,t),f.prototype=null===t?Object.create(t):(e.prototype=t.prototype,new e)}}(),V={Uint32Array:Uint32Array,Math:Math},K=new Uint32Array(1048576);function W(f,t){return f*t|0}void 0===V.Math.imul?(V.Math.imul=W,q=z(V,null,K.buffer),delete V.Math.imul):q=z(V,null,K.buffer);var J=new Uint32Array(0),Q=function(){function _(f){var t=J,e=0,r=0;if(void 0===f);else{for(var n=0;!f[n];n++);if(e=8*(f.length-n),!e)return _.ZERO;t=new Uint32Array(e+31>>5);for(var i=f.length-4;n<=i;i-=4)t[f.length-4-i>>2]=f[i]<<24|f[i+1]<<16|f[i+2]<<8|f[i+3];n-i==3?t[t.length-1]=f[n]:n-i==2?t[t.length-1]=f[n]<<8|f[n+1]:n-i==1&&(t[t.length-1]=f[n]<<16|f[n+1]<<8|f[n+2]),r=1}this.limbs=t,this.bitLength=e,this.sign=r}return _.fromString=function(f){var t=r(f);return new _(t)},_.fromNumber=function(f){var t=J,e=0,r=0,n=Math.abs(f);return 4294967295<n?(t=new Uint32Array(2),t[0]=0|n,t[1]=n/4294967296|0,e=52):0<n?(t=new Uint32Array(1),t[0]=n,e=32):(t=J,e=0),r=f<0?-1:1,_.fromConfig({limbs:t,bitLength:e,sign:r})},_.fromArrayBuffer=function(f){return new _(new Uint8Array(f))},_.fromConfig=function(f){var t=new _;return t.limbs=new Uint32Array(f.limbs),t.bitLength=f.bitLength,t.sign=f.sign,t},_.prototype.toString=function(f){f=f||16;var t=this.limbs,e=this.bitLength,r="";if(16!==f)throw new g("bad radix");for(var n=(e+31>>5)-1;0<=n;n--){var i=t[n].toString(16);r+="00000000".substr(i.length),r+=i}return r=r.replace(/^0+/,""),r.length||(r="0"),this.sign<0&&(r="-"+r),r},_.prototype.toBytes=function(){var f=this.bitLength,t=this.limbs;if(0===f)return new Uint8Array(0);for(var e=f+7>>3,r=new Uint8Array(e),n=0;n<e;n++){var i=e-n-1;r[n]=t[i>>2]>>((3&i)<<3)}return r},_.prototype.valueOf=function(){var f=this.limbs,t=this.bitLength,e=this.sign;if(!e)return 0;if(t<=32)return e*(f[0]>>>0);if(t<=52)return e*(4294967296*(f[1]>>>0)+(f[0]>>>0));var r,n,i=0;for(r=f.length-1;0<=r;r--)if(0!==(n=f[r])){for(;0==(n<<i&2147483648);)i++;break}return 0===r?e*(f[0]>>>0):e*(1048576*((f[r]<<i|(i?f[r-1]>>>32-i:0))>>>0)+((f[r-1]<<i|(i&&1<r?f[r-2]>>>32-i:0))>>>12))*Math.pow(2,32*r-i-52)},_.prototype.clamp=function(f){var t=this.limbs,e=this.bitLength;if(e<=f)return this;var r=new _,n=f+31>>5,i=f%32;return r.limbs=new Uint32Array(t.subarray(0,n)),r.bitLength=f,r.sign=this.sign,i&&(r.limbs[n-1]&=-1>>>32-i),r},_.prototype.slice=function(f,t){var e=this.limbs,r=this.bitLength;if(f<0)throw new RangeError("TODO");if(r<=f)return _.ZERO;(void 0===t||r-f<t)&&(t=r-f);var n=new _,i=f>>5,s=f+t+31>>5,a=t+31>>5,o=f%32,c=t%32,x=new Uint32Array(a);if(o){for(var h=0;h<s-i-1;h++)x[h]=e[i+h]>>>o|e[i+h+1]<<32-o;x[h]=e[i+h]>>>o}else x.set(e.subarray(i,s));return c&&(x[a-1]&=-1>>>32-c),n.limbs=x,n.bitLength=t,n.sign=this.sign,n},_.prototype.negate=function(){var f=new _;return f.limbs=this.limbs,f.bitLength=this.bitLength,f.sign=-1*this.sign,f},_.prototype.compare=function(f){var t=this.limbs,e=t.length,r=f.limbs,n=r.length,i=0;return this.sign<f.sign?-1:this.sign>f.sign?1:(K.set(t,0),K.set(r,e),i=q.cmp(0,e<<2,e<<2,n<<2),i*this.sign)},_.prototype.add=function(f){if(!this.sign)return f;if(!f.sign)return this;var t,e,r,n,i=this.bitLength,s=this.limbs,a=s.length,o=this.sign,c=f.bitLength,x=f.limbs,h=x.length,u=f.sign,p=new _;t=(c<i?i:c)+(0<o*u?1:0),e=t+31>>5,q.sreset();var l=q.salloc(a<<2),y=q.salloc(h<<2),b=q.salloc(e<<2);return q.z(b-l+(e<<2),0,l),K.set(s,l>>2),K.set(x,y>>2),0<o*u?(q.add(l,a<<2,y,h<<2,b,e<<2),r=o):u<o?(n=q.sub(l,a<<2,y,h<<2,b,e<<2),r=n?u:o):(n=q.sub(y,h<<2,l,a<<2,b,e<<2),r=n?o:u),n&&q.neg(b,e<<2,b,e<<2),0===q.tst(b,e<<2)?_.ZERO:(p.limbs=new Uint32Array(K.subarray(b>>2,(b>>2)+e)),p.bitLength=t,p.sign=r,p)},_.prototype.subtract=function(f){return this.add(f.negate())},_.prototype.square=function(){if(!this.sign)return _.ZERO;var f,t,e=this.bitLength,r=this.limbs,n=r.length,i=new _;f=e<<1,t=f+31>>5,q.sreset();var s=q.salloc(n<<2),a=q.salloc(t<<2);return q.z(a-s+(t<<2),0,s),K.set(r,s>>2),q.sqr(s,n<<2,a),i.limbs=new Uint32Array(K.subarray(a>>2,(a>>2)+t)),i.bitLength=f,i.sign=1,i},_.prototype.divide=function(f){var t,e,r=this.bitLength,n=this.limbs,i=n.length,s=f.bitLength,a=f.limbs,o=a.length,c=_.ZERO,x=_.ZERO;q.sreset();var h=q.salloc(i<<2),u=q.salloc(o<<2),p=q.salloc(i<<2);return q.z(p-h+(i<<2),0,h),K.set(n,h>>2),K.set(a,u>>2),q.div(h,i<<2,u,o<<2,p),t=q.tst(p,i<<2)>>2,t&&(c=new _,c.limbs=new Uint32Array(K.subarray(p>>2,(p>>2)+t)),c.bitLength=r<t<<5?r:t<<5,c.sign=this.sign*f.sign),e=q.tst(h,o<<2)>>2,e&&(x=new _,x.limbs=new Uint32Array(K.subarray(h>>2,(h>>2)+e)),x.bitLength=s<e<<5?s:e<<5,x.sign=this.sign),{quotient:c,remainder:x}},_.prototype.multiply=function(f){if(!this.sign||!f.sign)return _.ZERO;var t,e,r=this.bitLength,n=this.limbs,i=n.length,s=f.bitLength,a=f.limbs,o=a.length,c=new _;t=r+s,e=t+31>>5,q.sreset();var x=q.salloc(i<<2),h=q.salloc(o<<2),u=q.salloc(e<<2);return q.z(u-x+(e<<2),0,x),K.set(n,x>>2),K.set(a,h>>2),q.mul(x,i<<2,h,o<<2,u,e<<2),c.limbs=new Uint32Array(K.subarray(u>>2,(u>>2)+e)),c.sign=this.sign*f.sign,c.bitLength=t,c},_.prototype.isMillerRabinProbablePrime=function(f){var t=_.fromConfig(this),e=0;for(t.limbs[0]-=1;0===t.limbs[e>>5];)e+=32;for(;0==(t.limbs[e>>5]>>(31&e)&1);)e++;t=t.slice(e);for(var r=new X(this),n=this.subtract(_.ONE),i=_.fromConfig(this),s=this.limbs.length-1;0===i.limbs[s];)s--;for(;0<=--f;){for(j(i.limbs),i.limbs[0]<2&&(i.limbs[0]+=2);0<=i.compare(n);)i.limbs[s]>>>=1;var a=r.power(i,t);if(0!==a.compare(_.ONE)&&0!==a.compare(n)){for(var o=e;0<--o;){if(a=a.square().divide(r).remainder,0===a.compare(_.ONE))return!1;if(0===a.compare(n))break}if(0===o)return!1}}return!0},_.prototype.isProbablePrime=function(f){void 0===f&&(f=80);var t=this.limbs,e=0;if(0==(1&t[0]))return!1;if(f<=1)return!0;var r=0,n=0,i=0;for(e=0;e<t.length;e++){for(var s=t[e];s;)r+=3&s,s>>>=2;for(var a=t[e];a;)n+=3&a,a>>>=2,n-=3&a,a>>>=2;for(var o=t[e];o;)i+=15&o,o>>>=4,i-=15&o,o>>>=4}return!!(r%3&&n%5&&i%17)&&(f<=2||this.isMillerRabinProbablePrime(f>>>1))},_.extGCD=N,_.ZERO=_.fromNumber(0),_.ONE=_.fromNumber(1),_}(),X=function(s){function l(f){var t,e=s.call(this)||this;if(e.limbs=f.limbs,e.bitLength=f.bitLength,e.sign=f.sign,e.valueOf()<1)throw new RangeError;if(e.bitLength<=32)return e;if(!(1&e.limbs[0]))return e;var r=1+(e.bitLength+31&-32),n=new Uint32Array(r+31>>5);n[n.length-1]=1,t=new Q,t.sign=1,t.bitLength=r,t.limbs=n;var i=G(4294967296,e.limbs[0]).y;return e.coefficient=i<0?-i:4294967296-i,e.comodulus=t,e.comodulusRemainder=t.divide(e).remainder,e.comodulusRemainderSquare=t.square().divide(e).remainder,e}return F(l,s),l.prototype.reduce=function(f){return f.bitLength<=32&&this.bitLength<=32?Q.fromNumber(f.valueOf()%this.valueOf()):f.compare(this)<0?f:f.divide(this).remainder},l.prototype.inverse=function(f){f=this.reduce(f);var t=N(this,f);if(1!==t.gcd.valueOf())throw new Error("GCD is not 1");return t.y.sign<0?t.y.add(this).clamp(this.bitLength):t.y},l.prototype.power=function(f,t){for(var e=0,r=0;r<t.limbs.length;r++)for(var n=t.limbs[r];n;)1&n&&e++,n>>>=1;var i=8;t.bitLength<=4536&&(i=7),t.bitLength<=1736&&(i=6),t.bitLength<=630&&(i=5),t.bitLength<=210&&(i=4),t.bitLength<=60&&(i=3),t.bitLength<=12&&(i=2),e<=1<<i-1&&(i=1),f=l._Montgomery_reduce(this.reduce(f).multiply(this.comodulusRemainderSquare),this);var s=l._Montgomery_reduce(f.square(),this),a=new Array(1<<i-1);a[0]=f,a[1]=l._Montgomery_reduce(f.multiply(s),this);for(r=2;r<1<<i-1;r++)a[r]=l._Montgomery_reduce(a[r-1].multiply(s),this);var o=this.comodulusRemainder,c=o;for(r=t.limbs.length-1;0<=r;r--){n=t.limbs[r];for(var x=32;0<x;)if(2147483648&n){for(var h=n>>>32-i,u=i;0==(1&h);)h>>>=1,u--;for(var p=a[h>>>1];h;)h>>>=1,c!==o&&(c=l._Montgomery_reduce(c.square(),this));c=c!==o?l._Montgomery_reduce(c.multiply(p),this):p,n<<=u,x-=u}else c!==o&&(c=l._Montgomery_reduce(c.square(),this)),n<<=1,x--}return l._Montgomery_reduce(c,this)},l._Montgomery_reduce=function(f,t){var e=f.limbs,r=e.length,n=t.limbs,i=n.length,s=t.coefficient;q.sreset();var a=q.salloc(r<<2),o=q.salloc(i<<2),c=q.salloc(i<<2);q.z(c-a+(i<<2),0,a),K.set(e,a>>2),K.set(n,o>>2),q.mredc(a,r<<2,o,i<<2,s,c);var x=new Q;return x.limbs=new Uint32Array(K.subarray(c>>2,(c>>2)+i)),x.bitLength=t.bitLength,x.sign=1,x},l}(Q),Y=function(f,t,e){"use asm";var Df=0,Rf=0,Tf=0,Zf=0,Bf=0,b=0,_=0;var g=0,v=0,d=0,w=0,A=0,m=0,E=0,C=0,S=0,M=0;var y=new f.Uint8Array(e);function U(f,t,e,r,n,i,s,a,o,c,x,h,u,p,l,y){f=f|0;t=t|0;e=e|0;r=r|0;n=n|0;i=i|0;s=s|0;a=a|0;o=o|0;c=c|0;x=x|0;h=h|0;u=u|0;p=p|0;l=l|0;y=y|0;var b=0,_=0,g=0,v=0,d=0,w=0,A=0,m=0,E=0,C=0,S=0,M=0,U=0,O=0,H=0,L=0,k=0,P=0,D=0,R=0,T=0,Z=0,B=0,I=0,z=0,G=0,N=0,j=0,q=0,F=0,V=0,K=0,W=0,J=0,Q=0,X=0,Y=0,$=0,ff=0,tf=0,ef=0,rf=0,nf=0,sf=0,af=0,of=0,cf=0,xf=0,hf=0,uf=0,pf=0,lf=0,yf=0,bf=0,_f=0,gf=0,vf=0,df=0,wf=0,Af=0,mf=0,Ef=0,Cf=0,Sf=0,Mf=0,Uf=0,Of=0,Hf=0,Lf=0,kf=0,Pf=0;b=Df;_=Rf;g=Tf;v=Zf;d=Bf;A=f+(b<<5|b>>>27)+d+(_&g|~_&v)+0x5a827999|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;A=t+(b<<5|b>>>27)+d+(_&g|~_&v)+0x5a827999|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;A=e+(b<<5|b>>>27)+d+(_&g|~_&v)+0x5a827999|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;A=r+(b<<5|b>>>27)+d+(_&g|~_&v)+0x5a827999|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;A=n+(b<<5|b>>>27)+d+(_&g|~_&v)+0x5a827999|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;A=i+(b<<5|b>>>27)+d+(_&g|~_&v)+0x5a827999|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;A=s+(b<<5|b>>>27)+d+(_&g|~_&v)+0x5a827999|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;A=a+(b<<5|b>>>27)+d+(_&g|~_&v)+0x5a827999|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;A=o+(b<<5|b>>>27)+d+(_&g|~_&v)+0x5a827999|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;A=c+(b<<5|b>>>27)+d+(_&g|~_&v)+0x5a827999|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;A=x+(b<<5|b>>>27)+d+(_&g|~_&v)+0x5a827999|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;A=h+(b<<5|b>>>27)+d+(_&g|~_&v)+0x5a827999|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;A=u+(b<<5|b>>>27)+d+(_&g|~_&v)+0x5a827999|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;A=p+(b<<5|b>>>27)+d+(_&g|~_&v)+0x5a827999|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;A=l+(b<<5|b>>>27)+d+(_&g|~_&v)+0x5a827999|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;A=y+(b<<5|b>>>27)+d+(_&g|~_&v)+0x5a827999|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=p^o^e^f;m=w<<1|w>>>31;A=m+(b<<5|b>>>27)+d+(_&g|~_&v)+0x5a827999|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=l^c^r^t;E=w<<1|w>>>31;A=E+(b<<5|b>>>27)+d+(_&g|~_&v)+0x5a827999|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=y^x^n^e;C=w<<1|w>>>31;A=C+(b<<5|b>>>27)+d+(_&g|~_&v)+0x5a827999|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=m^h^i^r;S=w<<1|w>>>31;A=S+(b<<5|b>>>27)+d+(_&g|~_&v)+0x5a827999|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=E^u^s^n;M=w<<1|w>>>31;A=M+(b<<5|b>>>27)+d+(_^g^v)+0x6ed9eba1|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=C^p^a^i;U=w<<1|w>>>31;A=U+(b<<5|b>>>27)+d+(_^g^v)+0x6ed9eba1|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=S^l^o^s;O=w<<1|w>>>31;A=O+(b<<5|b>>>27)+d+(_^g^v)+0x6ed9eba1|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=M^y^c^a;H=w<<1|w>>>31;A=H+(b<<5|b>>>27)+d+(_^g^v)+0x6ed9eba1|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=U^m^x^o;L=w<<1|w>>>31;A=L+(b<<5|b>>>27)+d+(_^g^v)+0x6ed9eba1|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=O^E^h^c;k=w<<1|w>>>31;A=k+(b<<5|b>>>27)+d+(_^g^v)+0x6ed9eba1|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=H^C^u^x;P=w<<1|w>>>31;A=P+(b<<5|b>>>27)+d+(_^g^v)+0x6ed9eba1|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=L^S^p^h;D=w<<1|w>>>31;A=D+(b<<5|b>>>27)+d+(_^g^v)+0x6ed9eba1|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=k^M^l^u;R=w<<1|w>>>31;A=R+(b<<5|b>>>27)+d+(_^g^v)+0x6ed9eba1|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=P^U^y^p;T=w<<1|w>>>31;A=T+(b<<5|b>>>27)+d+(_^g^v)+0x6ed9eba1|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=D^O^m^l;Z=w<<1|w>>>31;A=Z+(b<<5|b>>>27)+d+(_^g^v)+0x6ed9eba1|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=R^H^E^y;B=w<<1|w>>>31;A=B+(b<<5|b>>>27)+d+(_^g^v)+0x6ed9eba1|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=T^L^C^m;I=w<<1|w>>>31;A=I+(b<<5|b>>>27)+d+(_^g^v)+0x6ed9eba1|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=Z^k^S^E;z=w<<1|w>>>31;A=z+(b<<5|b>>>27)+d+(_^g^v)+0x6ed9eba1|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=B^P^M^C;G=w<<1|w>>>31;A=G+(b<<5|b>>>27)+d+(_^g^v)+0x6ed9eba1|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=I^D^U^S;N=w<<1|w>>>31;A=N+(b<<5|b>>>27)+d+(_^g^v)+0x6ed9eba1|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=z^R^O^M;j=w<<1|w>>>31;A=j+(b<<5|b>>>27)+d+(_^g^v)+0x6ed9eba1|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=G^T^H^U;q=w<<1|w>>>31;A=q+(b<<5|b>>>27)+d+(_^g^v)+0x6ed9eba1|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=N^Z^L^O;F=w<<1|w>>>31;A=F+(b<<5|b>>>27)+d+(_^g^v)+0x6ed9eba1|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=j^B^k^H;V=w<<1|w>>>31;A=V+(b<<5|b>>>27)+d+(_^g^v)+0x6ed9eba1|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=q^I^P^L;K=w<<1|w>>>31;A=K+(b<<5|b>>>27)+d+(_&g|_&v|g&v)-0x70e44324|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=F^z^D^k;W=w<<1|w>>>31;A=W+(b<<5|b>>>27)+d+(_&g|_&v|g&v)-0x70e44324|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=V^G^R^P;J=w<<1|w>>>31;A=J+(b<<5|b>>>27)+d+(_&g|_&v|g&v)-0x70e44324|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=K^N^T^D;Q=w<<1|w>>>31;A=Q+(b<<5|b>>>27)+d+(_&g|_&v|g&v)-0x70e44324|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=W^j^Z^R;X=w<<1|w>>>31;A=X+(b<<5|b>>>27)+d+(_&g|_&v|g&v)-0x70e44324|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=J^q^B^T;Y=w<<1|w>>>31;A=Y+(b<<5|b>>>27)+d+(_&g|_&v|g&v)-0x70e44324|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=Q^F^I^Z;$=w<<1|w>>>31;A=$+(b<<5|b>>>27)+d+(_&g|_&v|g&v)-0x70e44324|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=X^V^z^B;ff=w<<1|w>>>31;A=ff+(b<<5|b>>>27)+d+(_&g|_&v|g&v)-0x70e44324|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=Y^K^G^I;tf=w<<1|w>>>31;A=tf+(b<<5|b>>>27)+d+(_&g|_&v|g&v)-0x70e44324|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=$^W^N^z;ef=w<<1|w>>>31;A=ef+(b<<5|b>>>27)+d+(_&g|_&v|g&v)-0x70e44324|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=ff^J^j^G;rf=w<<1|w>>>31;A=rf+(b<<5|b>>>27)+d+(_&g|_&v|g&v)-0x70e44324|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=tf^Q^q^N;nf=w<<1|w>>>31;A=nf+(b<<5|b>>>27)+d+(_&g|_&v|g&v)-0x70e44324|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=ef^X^F^j;sf=w<<1|w>>>31;A=sf+(b<<5|b>>>27)+d+(_&g|_&v|g&v)-0x70e44324|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=rf^Y^V^q;af=w<<1|w>>>31;A=af+(b<<5|b>>>27)+d+(_&g|_&v|g&v)-0x70e44324|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=nf^$^K^F;of=w<<1|w>>>31;A=of+(b<<5|b>>>27)+d+(_&g|_&v|g&v)-0x70e44324|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=sf^ff^W^V;cf=w<<1|w>>>31;A=cf+(b<<5|b>>>27)+d+(_&g|_&v|g&v)-0x70e44324|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=af^tf^J^K;xf=w<<1|w>>>31;A=xf+(b<<5|b>>>27)+d+(_&g|_&v|g&v)-0x70e44324|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=of^ef^Q^W;hf=w<<1|w>>>31;A=hf+(b<<5|b>>>27)+d+(_&g|_&v|g&v)-0x70e44324|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=cf^rf^X^J;uf=w<<1|w>>>31;A=uf+(b<<5|b>>>27)+d+(_&g|_&v|g&v)-0x70e44324|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=xf^nf^Y^Q;pf=w<<1|w>>>31;A=pf+(b<<5|b>>>27)+d+(_&g|_&v|g&v)-0x70e44324|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=hf^sf^$^X;lf=w<<1|w>>>31;A=lf+(b<<5|b>>>27)+d+(_^g^v)-0x359d3e2a|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=uf^af^ff^Y;yf=w<<1|w>>>31;A=yf+(b<<5|b>>>27)+d+(_^g^v)-0x359d3e2a|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=pf^of^tf^$;bf=w<<1|w>>>31;A=bf+(b<<5|b>>>27)+d+(_^g^v)-0x359d3e2a|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=lf^cf^ef^ff;_f=w<<1|w>>>31;A=_f+(b<<5|b>>>27)+d+(_^g^v)-0x359d3e2a|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=yf^xf^rf^tf;gf=w<<1|w>>>31;A=gf+(b<<5|b>>>27)+d+(_^g^v)-0x359d3e2a|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=bf^hf^nf^ef;vf=w<<1|w>>>31;A=vf+(b<<5|b>>>27)+d+(_^g^v)-0x359d3e2a|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=_f^uf^sf^rf;df=w<<1|w>>>31;A=df+(b<<5|b>>>27)+d+(_^g^v)-0x359d3e2a|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=gf^pf^af^nf;wf=w<<1|w>>>31;A=wf+(b<<5|b>>>27)+d+(_^g^v)-0x359d3e2a|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=vf^lf^of^sf;Af=w<<1|w>>>31;A=Af+(b<<5|b>>>27)+d+(_^g^v)-0x359d3e2a|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=df^yf^cf^af;mf=w<<1|w>>>31;A=mf+(b<<5|b>>>27)+d+(_^g^v)-0x359d3e2a|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=wf^bf^xf^of;Ef=w<<1|w>>>31;A=Ef+(b<<5|b>>>27)+d+(_^g^v)-0x359d3e2a|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=Af^_f^hf^cf;Cf=w<<1|w>>>31;A=Cf+(b<<5|b>>>27)+d+(_^g^v)-0x359d3e2a|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=mf^gf^uf^xf;Sf=w<<1|w>>>31;A=Sf+(b<<5|b>>>27)+d+(_^g^v)-0x359d3e2a|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=Ef^vf^pf^hf;Mf=w<<1|w>>>31;A=Mf+(b<<5|b>>>27)+d+(_^g^v)-0x359d3e2a|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=Cf^df^lf^uf;Uf=w<<1|w>>>31;A=Uf+(b<<5|b>>>27)+d+(_^g^v)-0x359d3e2a|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=Sf^wf^yf^pf;Of=w<<1|w>>>31;A=Of+(b<<5|b>>>27)+d+(_^g^v)-0x359d3e2a|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=Mf^Af^bf^lf;Hf=w<<1|w>>>31;A=Hf+(b<<5|b>>>27)+d+(_^g^v)-0x359d3e2a|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=Uf^mf^_f^yf;Lf=w<<1|w>>>31;A=Lf+(b<<5|b>>>27)+d+(_^g^v)-0x359d3e2a|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=Of^Ef^gf^bf;kf=w<<1|w>>>31;A=kf+(b<<5|b>>>27)+d+(_^g^v)-0x359d3e2a|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;w=Hf^Cf^vf^_f;Pf=w<<1|w>>>31;A=Pf+(b<<5|b>>>27)+d+(_^g^v)-0x359d3e2a|0;d=v;v=g;g=_<<30|_>>>2;_=b;b=A;Df=Df+b|0;Rf=Rf+_|0;Tf=Tf+g|0;Zf=Zf+v|0;Bf=Bf+d|0}function i(f){f=f|0;U(y[f|0]<<24|y[f|1]<<16|y[f|2]<<8|y[f|3],y[f|4]<<24|y[f|5]<<16|y[f|6]<<8|y[f|7],y[f|8]<<24|y[f|9]<<16|y[f|10]<<8|y[f|11],y[f|12]<<24|y[f|13]<<16|y[f|14]<<8|y[f|15],y[f|16]<<24|y[f|17]<<16|y[f|18]<<8|y[f|19],y[f|20]<<24|y[f|21]<<16|y[f|22]<<8|y[f|23],y[f|24]<<24|y[f|25]<<16|y[f|26]<<8|y[f|27],y[f|28]<<24|y[f|29]<<16|y[f|30]<<8|y[f|31],y[f|32]<<24|y[f|33]<<16|y[f|34]<<8|y[f|35],y[f|36]<<24|y[f|37]<<16|y[f|38]<<8|y[f|39],y[f|40]<<24|y[f|41]<<16|y[f|42]<<8|y[f|43],y[f|44]<<24|y[f|45]<<16|y[f|46]<<8|y[f|47],y[f|48]<<24|y[f|49]<<16|y[f|50]<<8|y[f|51],y[f|52]<<24|y[f|53]<<16|y[f|54]<<8|y[f|55],y[f|56]<<24|y[f|57]<<16|y[f|58]<<8|y[f|59],y[f|60]<<24|y[f|61]<<16|y[f|62]<<8|y[f|63])}function O(f){f=f|0;y[f|0]=Df>>>24;y[f|1]=Df>>>16&255;y[f|2]=Df>>>8&255;y[f|3]=Df&255;y[f|4]=Rf>>>24;y[f|5]=Rf>>>16&255;y[f|6]=Rf>>>8&255;y[f|7]=Rf&255;y[f|8]=Tf>>>24;y[f|9]=Tf>>>16&255;y[f|10]=Tf>>>8&255;y[f|11]=Tf&255;y[f|12]=Zf>>>24;y[f|13]=Zf>>>16&255;y[f|14]=Zf>>>8&255;y[f|15]=Zf&255;y[f|16]=Bf>>>24;y[f|17]=Bf>>>16&255;y[f|18]=Bf>>>8&255;y[f|19]=Bf&255}function H(){Df=0x67452301;Rf=0xefcdab89;Tf=0x98badcfe;Zf=0x10325476;Bf=0xc3d2e1f0;b=_=0}function r(f,t,e,r,n,i,s){f=f|0;t=t|0;e=e|0;r=r|0;n=n|0;i=i|0;s=s|0;Df=f;Rf=t;Tf=e;Zf=r;Bf=n;b=i;_=s}function s(f,t){f=f|0;t=t|0;var e=0;if(f&63)return-1;while((t|0)>=64){i(f);f=f+64|0;t=t-64|0;e=e+64|0}b=b+e|0;if(b>>>0<e>>>0)_=_+1|0;return e|0}function c(f,t,e){f=f|0;t=t|0;e=e|0;var r=0,n=0;if(f&63)return-1;if(~e)if(e&31)return-1;if((t|0)>=64){r=s(f,t)|0;if((r|0)==-1)return-1;f=f+r|0;t=t-r|0}r=r+t|0;b=b+t|0;if(b>>>0<t>>>0)_=_+1|0;y[f|t]=0x80;if((t|0)>=56){for(n=t+1|0;(n|0)<64;n=n+1|0)y[f|n]=0x00;i(f);t=0;y[f|0]=0}for(n=t+1|0;(n|0)<59;n=n+1|0)y[f|n]=0;y[f|56]=_>>>21&255;y[f|57]=_>>>13&255;y[f|58]=_>>>5&255;y[f|59]=_<<3&255|b>>>29;y[f|60]=b>>>21&255;y[f|61]=b>>>13&255;y[f|62]=b>>>5&255;y[f|63]=b<<3&255;i(f);if(~e)O(e);return r|0}function L(){Df=g;Rf=v;Tf=d;Zf=w;Bf=A;b=64;_=0}function k(){Df=m;Rf=E;Tf=C;Zf=S;Bf=M;b=64;_=0}function n(f,t,e,r,n,i,s,a,o,c,x,h,u,p,l,y){f=f|0;t=t|0;e=e|0;r=r|0;n=n|0;i=i|0;s=s|0;a=a|0;o=o|0;c=c|0;x=x|0;h=h|0;u=u|0;p=p|0;l=l|0;y=y|0;H();U(f^0x5c5c5c5c,t^0x5c5c5c5c,e^0x5c5c5c5c,r^0x5c5c5c5c,n^0x5c5c5c5c,i^0x5c5c5c5c,s^0x5c5c5c5c,a^0x5c5c5c5c,o^0x5c5c5c5c,c^0x5c5c5c5c,x^0x5c5c5c5c,h^0x5c5c5c5c,u^0x5c5c5c5c,p^0x5c5c5c5c,l^0x5c5c5c5c,y^0x5c5c5c5c);m=Df;E=Rf;C=Tf;S=Zf;M=Bf;H();U(f^0x36363636,t^0x36363636,e^0x36363636,r^0x36363636,n^0x36363636,i^0x36363636,s^0x36363636,a^0x36363636,o^0x36363636,c^0x36363636,x^0x36363636,h^0x36363636,u^0x36363636,p^0x36363636,l^0x36363636,y^0x36363636);g=Df;v=Rf;d=Tf;w=Zf;A=Bf;b=64;_=0}function P(f,t,e){f=f|0;t=t|0;e=e|0;var r=0,n=0,i=0,s=0,a=0,o=0;if(f&63)return-1;if(~e)if(e&31)return-1;o=c(f,t,-1)|0;r=Df,n=Rf,i=Tf,s=Zf,a=Bf;k();U(r,n,i,s,a,0x80000000,0,0,0,0,0,0,0,0,0,672);if(~e)O(e);return o|0}function a(f,t,e,r,n){f=f|0;t=t|0;e=e|0;r=r|0;n=n|0;var i=0,s=0,a=0,o=0,c=0,x=0,h=0,u=0,p=0,l=0;if(f&63)return-1;if(~n)if(n&31)return-1;y[f+t|0]=e>>>24;y[f+t+1|0]=e>>>16&255;y[f+t+2|0]=e>>>8&255;y[f+t+3|0]=e&255;P(f,t+4|0,-1)|0;i=x=Df,s=h=Rf,a=u=Tf,o=p=Zf,c=l=Bf;r=r-1|0;while((r|0)>0){L();U(x,h,u,p,l,0x80000000,0,0,0,0,0,0,0,0,0,672);x=Df,h=Rf,u=Tf,p=Zf,l=Bf;k();U(x,h,u,p,l,0x80000000,0,0,0,0,0,0,0,0,0,672);x=Df,h=Rf,u=Tf,p=Zf,l=Bf;i=i^Df;s=s^Rf;a=a^Tf;o=o^Zf;c=c^Bf;r=r-1|0}Df=i;Rf=s;Tf=a;Zf=o;Bf=c;if(~n)O(n);return 0}return{reset:H,init:r,process:s,finish:c,hmac_reset:L,hmac_init:n,hmac_finish:P,pbkdf2_generate_block:a}},$=function(){function f(){this.pos=0,this.len=0,this.acquire_asm()}return f.prototype.acquire_asm=function(){void 0===this.heap&&void 0===this.asm&&(this.heap=this.constructor.heap_pool.pop()||c(),this.asm=this.constructor.asm_pool.pop()||this.constructor.asm_function({Uint8Array:Uint8Array},null,this.heap.buffer),this.reset())},f.prototype.release_asm=function(){this.constructor.heap_pool.push(this.heap),this.constructor.asm_pool.push(this.asm),this.heap=void 0,this.asm=void 0},f.prototype.reset=function(){return this.acquire_asm(),this.result=null,this.pos=0,this.len=0,this.asm.reset(),this},f.prototype.process=function(f){if(null!==this.result)throw new b("state must be reset before processing new data");this.acquire_asm();for(var t=this.asm,e=this.heap,r=this.pos,n=this.len,i=0,s=f.length,a=0;0<s;)a=y(e,r+n,f,i,s),n+=a,i+=a,s-=a,a=t.process(r,n),r+=a,n-=a,n||(r=0);return this.pos=r,this.len=n,this},f.prototype.finish=function(){if(null!==this.result)throw new b("state must be reset before processing new data");return this.acquire_asm(),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.release_asm(),this},f}(),ff=function(){var r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(f,t){f.__proto__=t}||function(f,t){for(var e in t)t.hasOwnProperty(e)&&(f[e]=t[e])};return function(f,t){function e(){this.constructor=f}r(f,t),f.prototype=null===t?Object.create(t):(e.prototype=t.prototype,new e)}}(),tf=64,ef=20,rf=function(t){function e(){var f=null!==t&&t.apply(this,arguments)||this;return f.NAME="sha1",f.BLOCK_SIZE=tf,f.HASH_SIZE=ef,f}return ff(e,t),e.bytes=function(f){return(new e).process(f).finish().result},e.NAME="sha1",e.heap_pool=[],e.asm_pool=[],e.asm_function=Y,e}($),nf=function(f,t,e){"use asm";var E=0,C=0,S=0,M=0,U=0,O=0,H=0,L=0,b=0,_=0;var g=0,v=0,d=0,w=0,A=0,m=0,k=0,P=0,D=0,R=0,T=0,Z=0,B=0,I=0,z=0,G=0;var N=new f.Uint8Array(e);function j(f,t,e,r,n,i,s,a,o,c,x,h,u,p,l,y){f=f|0;t=t|0;e=e|0;r=r|0;n=n|0;i=i|0;s=s|0;a=a|0;o=o|0;c=c|0;x=x|0;h=h|0;u=u|0;p=p|0;l=l|0;y=y|0;var b=0,_=0,g=0,v=0,d=0,w=0,A=0,m=0;b=E;_=C;g=S;v=M;d=U;w=O;A=H;m=L;m=f+m+(d>>>6^d>>>11^d>>>25^d<<26^d<<21^d<<7)+(A^d&(w^A))+0x428a2f98|0;v=v+m|0;m=m+(b&_^g&(b^_))+(b>>>2^b>>>13^b>>>22^b<<30^b<<19^b<<10)|0;A=t+A+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(w^v&(d^w))+0x71374491|0;g=g+A|0;A=A+(m&b^_&(m^b))+(m>>>2^m>>>13^m>>>22^m<<30^m<<19^m<<10)|0;w=e+w+(g>>>6^g>>>11^g>>>25^g<<26^g<<21^g<<7)+(d^g&(v^d))+0xb5c0fbcf|0;_=_+w|0;w=w+(A&m^b&(A^m))+(A>>>2^A>>>13^A>>>22^A<<30^A<<19^A<<10)|0;d=r+d+(_>>>6^_>>>11^_>>>25^_<<26^_<<21^_<<7)+(v^_&(g^v))+0xe9b5dba5|0;b=b+d|0;d=d+(w&A^m&(w^A))+(w>>>2^w>>>13^w>>>22^w<<30^w<<19^w<<10)|0;v=n+v+(b>>>6^b>>>11^b>>>25^b<<26^b<<21^b<<7)+(g^b&(_^g))+0x3956c25b|0;m=m+v|0;v=v+(d&w^A&(d^w))+(d>>>2^d>>>13^d>>>22^d<<30^d<<19^d<<10)|0;g=i+g+(m>>>6^m>>>11^m>>>25^m<<26^m<<21^m<<7)+(_^m&(b^_))+0x59f111f1|0;A=A+g|0;g=g+(v&d^w&(v^d))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0;_=s+_+(A>>>6^A>>>11^A>>>25^A<<26^A<<21^A<<7)+(b^A&(m^b))+0x923f82a4|0;w=w+_|0;_=_+(g&v^d&(g^v))+(g>>>2^g>>>13^g>>>22^g<<30^g<<19^g<<10)|0;b=a+b+(w>>>6^w>>>11^w>>>25^w<<26^w<<21^w<<7)+(m^w&(A^m))+0xab1c5ed5|0;d=d+b|0;b=b+(_&g^v&(_^g))+(_>>>2^_>>>13^_>>>22^_<<30^_<<19^_<<10)|0;m=o+m+(d>>>6^d>>>11^d>>>25^d<<26^d<<21^d<<7)+(A^d&(w^A))+0xd807aa98|0;v=v+m|0;m=m+(b&_^g&(b^_))+(b>>>2^b>>>13^b>>>22^b<<30^b<<19^b<<10)|0;A=c+A+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(w^v&(d^w))+0x12835b01|0;g=g+A|0;A=A+(m&b^_&(m^b))+(m>>>2^m>>>13^m>>>22^m<<30^m<<19^m<<10)|0;w=x+w+(g>>>6^g>>>11^g>>>25^g<<26^g<<21^g<<7)+(d^g&(v^d))+0x243185be|0;_=_+w|0;w=w+(A&m^b&(A^m))+(A>>>2^A>>>13^A>>>22^A<<30^A<<19^A<<10)|0;d=h+d+(_>>>6^_>>>11^_>>>25^_<<26^_<<21^_<<7)+(v^_&(g^v))+0x550c7dc3|0;b=b+d|0;d=d+(w&A^m&(w^A))+(w>>>2^w>>>13^w>>>22^w<<30^w<<19^w<<10)|0;v=u+v+(b>>>6^b>>>11^b>>>25^b<<26^b<<21^b<<7)+(g^b&(_^g))+0x72be5d74|0;m=m+v|0;v=v+(d&w^A&(d^w))+(d>>>2^d>>>13^d>>>22^d<<30^d<<19^d<<10)|0;g=p+g+(m>>>6^m>>>11^m>>>25^m<<26^m<<21^m<<7)+(_^m&(b^_))+0x80deb1fe|0;A=A+g|0;g=g+(v&d^w&(v^d))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0;_=l+_+(A>>>6^A>>>11^A>>>25^A<<26^A<<21^A<<7)+(b^A&(m^b))+0x9bdc06a7|0;w=w+_|0;_=_+(g&v^d&(g^v))+(g>>>2^g>>>13^g>>>22^g<<30^g<<19^g<<10)|0;b=y+b+(w>>>6^w>>>11^w>>>25^w<<26^w<<21^w<<7)+(m^w&(A^m))+0xc19bf174|0;d=d+b|0;b=b+(_&g^v&(_^g))+(_>>>2^_>>>13^_>>>22^_<<30^_<<19^_<<10)|0;f=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+f+c|0;m=f+m+(d>>>6^d>>>11^d>>>25^d<<26^d<<21^d<<7)+(A^d&(w^A))+0xe49b69c1|0;v=v+m|0;m=m+(b&_^g&(b^_))+(b>>>2^b>>>13^b>>>22^b<<30^b<<19^b<<10)|0;t=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+t+x|0;A=t+A+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(w^v&(d^w))+0xefbe4786|0;g=g+A|0;A=A+(m&b^_&(m^b))+(m>>>2^m>>>13^m>>>22^m<<30^m<<19^m<<10)|0;e=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+e+h|0;w=e+w+(g>>>6^g>>>11^g>>>25^g<<26^g<<21^g<<7)+(d^g&(v^d))+0x0fc19dc6|0;_=_+w|0;w=w+(A&m^b&(A^m))+(A>>>2^A>>>13^A>>>22^A<<30^A<<19^A<<10)|0;r=(n>>>7^n>>>18^n>>>3^n<<25^n<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+r+u|0;d=r+d+(_>>>6^_>>>11^_>>>25^_<<26^_<<21^_<<7)+(v^_&(g^v))+0x240ca1cc|0;b=b+d|0;d=d+(w&A^m&(w^A))+(w>>>2^w>>>13^w>>>22^w<<30^w<<19^w<<10)|0;n=(i>>>7^i>>>18^i>>>3^i<<25^i<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+n+p|0;v=n+v+(b>>>6^b>>>11^b>>>25^b<<26^b<<21^b<<7)+(g^b&(_^g))+0x2de92c6f|0;m=m+v|0;v=v+(d&w^A&(d^w))+(d>>>2^d>>>13^d>>>22^d<<30^d<<19^d<<10)|0;i=(s>>>7^s>>>18^s>>>3^s<<25^s<<14)+(r>>>17^r>>>19^r>>>10^r<<15^r<<13)+i+l|0;g=i+g+(m>>>6^m>>>11^m>>>25^m<<26^m<<21^m<<7)+(_^m&(b^_))+0x4a7484aa|0;A=A+g|0;g=g+(v&d^w&(v^d))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0;s=(a>>>7^a>>>18^a>>>3^a<<25^a<<14)+(n>>>17^n>>>19^n>>>10^n<<15^n<<13)+s+y|0;_=s+_+(A>>>6^A>>>11^A>>>25^A<<26^A<<21^A<<7)+(b^A&(m^b))+0x5cb0a9dc|0;w=w+_|0;_=_+(g&v^d&(g^v))+(g>>>2^g>>>13^g>>>22^g<<30^g<<19^g<<10)|0;a=(o>>>7^o>>>18^o>>>3^o<<25^o<<14)+(i>>>17^i>>>19^i>>>10^i<<15^i<<13)+a+f|0;b=a+b+(w>>>6^w>>>11^w>>>25^w<<26^w<<21^w<<7)+(m^w&(A^m))+0x76f988da|0;d=d+b|0;b=b+(_&g^v&(_^g))+(_>>>2^_>>>13^_>>>22^_<<30^_<<19^_<<10)|0;o=(c>>>7^c>>>18^c>>>3^c<<25^c<<14)+(s>>>17^s>>>19^s>>>10^s<<15^s<<13)+o+t|0;m=o+m+(d>>>6^d>>>11^d>>>25^d<<26^d<<21^d<<7)+(A^d&(w^A))+0x983e5152|0;v=v+m|0;m=m+(b&_^g&(b^_))+(b>>>2^b>>>13^b>>>22^b<<30^b<<19^b<<10)|0;c=(x>>>7^x>>>18^x>>>3^x<<25^x<<14)+(a>>>17^a>>>19^a>>>10^a<<15^a<<13)+c+e|0;A=c+A+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(w^v&(d^w))+0xa831c66d|0;g=g+A|0;A=A+(m&b^_&(m^b))+(m>>>2^m>>>13^m>>>22^m<<30^m<<19^m<<10)|0;x=(h>>>7^h>>>18^h>>>3^h<<25^h<<14)+(o>>>17^o>>>19^o>>>10^o<<15^o<<13)+x+r|0;w=x+w+(g>>>6^g>>>11^g>>>25^g<<26^g<<21^g<<7)+(d^g&(v^d))+0xb00327c8|0;_=_+w|0;w=w+(A&m^b&(A^m))+(A>>>2^A>>>13^A>>>22^A<<30^A<<19^A<<10)|0;h=(u>>>7^u>>>18^u>>>3^u<<25^u<<14)+(c>>>17^c>>>19^c>>>10^c<<15^c<<13)+h+n|0;d=h+d+(_>>>6^_>>>11^_>>>25^_<<26^_<<21^_<<7)+(v^_&(g^v))+0xbf597fc7|0;b=b+d|0;d=d+(w&A^m&(w^A))+(w>>>2^w>>>13^w>>>22^w<<30^w<<19^w<<10)|0;u=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(x>>>17^x>>>19^x>>>10^x<<15^x<<13)+u+i|0;v=u+v+(b>>>6^b>>>11^b>>>25^b<<26^b<<21^b<<7)+(g^b&(_^g))+0xc6e00bf3|0;m=m+v|0;v=v+(d&w^A&(d^w))+(d>>>2^d>>>13^d>>>22^d<<30^d<<19^d<<10)|0;p=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(h>>>17^h>>>19^h>>>10^h<<15^h<<13)+p+s|0;g=p+g+(m>>>6^m>>>11^m>>>25^m<<26^m<<21^m<<7)+(_^m&(b^_))+0xd5a79147|0;A=A+g|0;g=g+(v&d^w&(v^d))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0;l=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(u>>>17^u>>>19^u>>>10^u<<15^u<<13)+l+a|0;_=l+_+(A>>>6^A>>>11^A>>>25^A<<26^A<<21^A<<7)+(b^A&(m^b))+0x06ca6351|0;w=w+_|0;_=_+(g&v^d&(g^v))+(g>>>2^g>>>13^g>>>22^g<<30^g<<19^g<<10)|0;y=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+y+o|0;b=y+b+(w>>>6^w>>>11^w>>>25^w<<26^w<<21^w<<7)+(m^w&(A^m))+0x14292967|0;d=d+b|0;b=b+(_&g^v&(_^g))+(_>>>2^_>>>13^_>>>22^_<<30^_<<19^_<<10)|0;f=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+f+c|0;m=f+m+(d>>>6^d>>>11^d>>>25^d<<26^d<<21^d<<7)+(A^d&(w^A))+0x27b70a85|0;v=v+m|0;m=m+(b&_^g&(b^_))+(b>>>2^b>>>13^b>>>22^b<<30^b<<19^b<<10)|0;t=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+t+x|0;A=t+A+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(w^v&(d^w))+0x2e1b2138|0;g=g+A|0;A=A+(m&b^_&(m^b))+(m>>>2^m>>>13^m>>>22^m<<30^m<<19^m<<10)|0;e=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+e+h|0;w=e+w+(g>>>6^g>>>11^g>>>25^g<<26^g<<21^g<<7)+(d^g&(v^d))+0x4d2c6dfc|0;_=_+w|0;w=w+(A&m^b&(A^m))+(A>>>2^A>>>13^A>>>22^A<<30^A<<19^A<<10)|0;r=(n>>>7^n>>>18^n>>>3^n<<25^n<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+r+u|0;d=r+d+(_>>>6^_>>>11^_>>>25^_<<26^_<<21^_<<7)+(v^_&(g^v))+0x53380d13|0;b=b+d|0;d=d+(w&A^m&(w^A))+(w>>>2^w>>>13^w>>>22^w<<30^w<<19^w<<10)|0;n=(i>>>7^i>>>18^i>>>3^i<<25^i<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+n+p|0;v=n+v+(b>>>6^b>>>11^b>>>25^b<<26^b<<21^b<<7)+(g^b&(_^g))+0x650a7354|0;m=m+v|0;v=v+(d&w^A&(d^w))+(d>>>2^d>>>13^d>>>22^d<<30^d<<19^d<<10)|0;i=(s>>>7^s>>>18^s>>>3^s<<25^s<<14)+(r>>>17^r>>>19^r>>>10^r<<15^r<<13)+i+l|0;g=i+g+(m>>>6^m>>>11^m>>>25^m<<26^m<<21^m<<7)+(_^m&(b^_))+0x766a0abb|0;A=A+g|0;g=g+(v&d^w&(v^d))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0;s=(a>>>7^a>>>18^a>>>3^a<<25^a<<14)+(n>>>17^n>>>19^n>>>10^n<<15^n<<13)+s+y|0;_=s+_+(A>>>6^A>>>11^A>>>25^A<<26^A<<21^A<<7)+(b^A&(m^b))+0x81c2c92e|0;w=w+_|0;_=_+(g&v^d&(g^v))+(g>>>2^g>>>13^g>>>22^g<<30^g<<19^g<<10)|0;a=(o>>>7^o>>>18^o>>>3^o<<25^o<<14)+(i>>>17^i>>>19^i>>>10^i<<15^i<<13)+a+f|0;b=a+b+(w>>>6^w>>>11^w>>>25^w<<26^w<<21^w<<7)+(m^w&(A^m))+0x92722c85|0;d=d+b|0;b=b+(_&g^v&(_^g))+(_>>>2^_>>>13^_>>>22^_<<30^_<<19^_<<10)|0;o=(c>>>7^c>>>18^c>>>3^c<<25^c<<14)+(s>>>17^s>>>19^s>>>10^s<<15^s<<13)+o+t|0;m=o+m+(d>>>6^d>>>11^d>>>25^d<<26^d<<21^d<<7)+(A^d&(w^A))+0xa2bfe8a1|0;v=v+m|0;m=m+(b&_^g&(b^_))+(b>>>2^b>>>13^b>>>22^b<<30^b<<19^b<<10)|0;c=(x>>>7^x>>>18^x>>>3^x<<25^x<<14)+(a>>>17^a>>>19^a>>>10^a<<15^a<<13)+c+e|0;A=c+A+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(w^v&(d^w))+0xa81a664b|0;g=g+A|0;A=A+(m&b^_&(m^b))+(m>>>2^m>>>13^m>>>22^m<<30^m<<19^m<<10)|0;x=(h>>>7^h>>>18^h>>>3^h<<25^h<<14)+(o>>>17^o>>>19^o>>>10^o<<15^o<<13)+x+r|0;w=x+w+(g>>>6^g>>>11^g>>>25^g<<26^g<<21^g<<7)+(d^g&(v^d))+0xc24b8b70|0;_=_+w|0;w=w+(A&m^b&(A^m))+(A>>>2^A>>>13^A>>>22^A<<30^A<<19^A<<10)|0;h=(u>>>7^u>>>18^u>>>3^u<<25^u<<14)+(c>>>17^c>>>19^c>>>10^c<<15^c<<13)+h+n|0;d=h+d+(_>>>6^_>>>11^_>>>25^_<<26^_<<21^_<<7)+(v^_&(g^v))+0xc76c51a3|0;b=b+d|0;d=d+(w&A^m&(w^A))+(w>>>2^w>>>13^w>>>22^w<<30^w<<19^w<<10)|0;u=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(x>>>17^x>>>19^x>>>10^x<<15^x<<13)+u+i|0;v=u+v+(b>>>6^b>>>11^b>>>25^b<<26^b<<21^b<<7)+(g^b&(_^g))+0xd192e819|0;m=m+v|0;v=v+(d&w^A&(d^w))+(d>>>2^d>>>13^d>>>22^d<<30^d<<19^d<<10)|0;p=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(h>>>17^h>>>19^h>>>10^h<<15^h<<13)+p+s|0;g=p+g+(m>>>6^m>>>11^m>>>25^m<<26^m<<21^m<<7)+(_^m&(b^_))+0xd6990624|0;A=A+g|0;g=g+(v&d^w&(v^d))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0;l=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(u>>>17^u>>>19^u>>>10^u<<15^u<<13)+l+a|0;_=l+_+(A>>>6^A>>>11^A>>>25^A<<26^A<<21^A<<7)+(b^A&(m^b))+0xf40e3585|0;w=w+_|0;_=_+(g&v^d&(g^v))+(g>>>2^g>>>13^g>>>22^g<<30^g<<19^g<<10)|0;y=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+y+o|0;b=y+b+(w>>>6^w>>>11^w>>>25^w<<26^w<<21^w<<7)+(m^w&(A^m))+0x106aa070|0;d=d+b|0;b=b+(_&g^v&(_^g))+(_>>>2^_>>>13^_>>>22^_<<30^_<<19^_<<10)|0;f=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+f+c|0;m=f+m+(d>>>6^d>>>11^d>>>25^d<<26^d<<21^d<<7)+(A^d&(w^A))+0x19a4c116|0;v=v+m|0;m=m+(b&_^g&(b^_))+(b>>>2^b>>>13^b>>>22^b<<30^b<<19^b<<10)|0;t=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+t+x|0;A=t+A+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(w^v&(d^w))+0x1e376c08|0;g=g+A|0;A=A+(m&b^_&(m^b))+(m>>>2^m>>>13^m>>>22^m<<30^m<<19^m<<10)|0;e=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+e+h|0;w=e+w+(g>>>6^g>>>11^g>>>25^g<<26^g<<21^g<<7)+(d^g&(v^d))+0x2748774c|0;_=_+w|0;w=w+(A&m^b&(A^m))+(A>>>2^A>>>13^A>>>22^A<<30^A<<19^A<<10)|0;r=(n>>>7^n>>>18^n>>>3^n<<25^n<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+r+u|0;d=r+d+(_>>>6^_>>>11^_>>>25^_<<26^_<<21^_<<7)+(v^_&(g^v))+0x34b0bcb5|0;b=b+d|0;d=d+(w&A^m&(w^A))+(w>>>2^w>>>13^w>>>22^w<<30^w<<19^w<<10)|0;n=(i>>>7^i>>>18^i>>>3^i<<25^i<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+n+p|0;v=n+v+(b>>>6^b>>>11^b>>>25^b<<26^b<<21^b<<7)+(g^b&(_^g))+0x391c0cb3|0;m=m+v|0;v=v+(d&w^A&(d^w))+(d>>>2^d>>>13^d>>>22^d<<30^d<<19^d<<10)|0;i=(s>>>7^s>>>18^s>>>3^s<<25^s<<14)+(r>>>17^r>>>19^r>>>10^r<<15^r<<13)+i+l|0;g=i+g+(m>>>6^m>>>11^m>>>25^m<<26^m<<21^m<<7)+(_^m&(b^_))+0x4ed8aa4a|0;A=A+g|0;g=g+(v&d^w&(v^d))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0;s=(a>>>7^a>>>18^a>>>3^a<<25^a<<14)+(n>>>17^n>>>19^n>>>10^n<<15^n<<13)+s+y|0;_=s+_+(A>>>6^A>>>11^A>>>25^A<<26^A<<21^A<<7)+(b^A&(m^b))+0x5b9cca4f|0;w=w+_|0;_=_+(g&v^d&(g^v))+(g>>>2^g>>>13^g>>>22^g<<30^g<<19^g<<10)|0;a=(o>>>7^o>>>18^o>>>3^o<<25^o<<14)+(i>>>17^i>>>19^i>>>10^i<<15^i<<13)+a+f|0;b=a+b+(w>>>6^w>>>11^w>>>25^w<<26^w<<21^w<<7)+(m^w&(A^m))+0x682e6ff3|0;d=d+b|0;b=b+(_&g^v&(_^g))+(_>>>2^_>>>13^_>>>22^_<<30^_<<19^_<<10)|0;o=(c>>>7^c>>>18^c>>>3^c<<25^c<<14)+(s>>>17^s>>>19^s>>>10^s<<15^s<<13)+o+t|0;m=o+m+(d>>>6^d>>>11^d>>>25^d<<26^d<<21^d<<7)+(A^d&(w^A))+0x748f82ee|0;v=v+m|0;m=m+(b&_^g&(b^_))+(b>>>2^b>>>13^b>>>22^b<<30^b<<19^b<<10)|0;c=(x>>>7^x>>>18^x>>>3^x<<25^x<<14)+(a>>>17^a>>>19^a>>>10^a<<15^a<<13)+c+e|0;A=c+A+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(w^v&(d^w))+0x78a5636f|0;g=g+A|0;A=A+(m&b^_&(m^b))+(m>>>2^m>>>13^m>>>22^m<<30^m<<19^m<<10)|0;x=(h>>>7^h>>>18^h>>>3^h<<25^h<<14)+(o>>>17^o>>>19^o>>>10^o<<15^o<<13)+x+r|0;w=x+w+(g>>>6^g>>>11^g>>>25^g<<26^g<<21^g<<7)+(d^g&(v^d))+0x84c87814|0;_=_+w|0;w=w+(A&m^b&(A^m))+(A>>>2^A>>>13^A>>>22^A<<30^A<<19^A<<10)|0;h=(u>>>7^u>>>18^u>>>3^u<<25^u<<14)+(c>>>17^c>>>19^c>>>10^c<<15^c<<13)+h+n|0;d=h+d+(_>>>6^_>>>11^_>>>25^_<<26^_<<21^_<<7)+(v^_&(g^v))+0x8cc70208|0;b=b+d|0;d=d+(w&A^m&(w^A))+(w>>>2^w>>>13^w>>>22^w<<30^w<<19^w<<10)|0;u=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(x>>>17^x>>>19^x>>>10^x<<15^x<<13)+u+i|0;v=u+v+(b>>>6^b>>>11^b>>>25^b<<26^b<<21^b<<7)+(g^b&(_^g))+0x90befffa|0;m=m+v|0;v=v+(d&w^A&(d^w))+(d>>>2^d>>>13^d>>>22^d<<30^d<<19^d<<10)|0;p=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(h>>>17^h>>>19^h>>>10^h<<15^h<<13)+p+s|0;g=p+g+(m>>>6^m>>>11^m>>>25^m<<26^m<<21^m<<7)+(_^m&(b^_))+0xa4506ceb|0;A=A+g|0;g=g+(v&d^w&(v^d))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0;l=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(u>>>17^u>>>19^u>>>10^u<<15^u<<13)+l+a|0;_=l+_+(A>>>6^A>>>11^A>>>25^A<<26^A<<21^A<<7)+(b^A&(m^b))+0xbef9a3f7|0;w=w+_|0;_=_+(g&v^d&(g^v))+(g>>>2^g>>>13^g>>>22^g<<30^g<<19^g<<10)|0;y=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+y+o|0;b=y+b+(w>>>6^w>>>11^w>>>25^w<<26^w<<21^w<<7)+(m^w&(A^m))+0xc67178f2|0;d=d+b|0;b=b+(_&g^v&(_^g))+(_>>>2^_>>>13^_>>>22^_<<30^_<<19^_<<10)|0;E=E+b|0;C=C+_|0;S=S+g|0;M=M+v|0;U=U+d|0;O=O+w|0;H=H+A|0;L=L+m|0}function i(f){f=f|0;j(N[f|0]<<24|N[f|1]<<16|N[f|2]<<8|N[f|3],N[f|4]<<24|N[f|5]<<16|N[f|6]<<8|N[f|7],N[f|8]<<24|N[f|9]<<16|N[f|10]<<8|N[f|11],N[f|12]<<24|N[f|13]<<16|N[f|14]<<8|N[f|15],N[f|16]<<24|N[f|17]<<16|N[f|18]<<8|N[f|19],N[f|20]<<24|N[f|21]<<16|N[f|22]<<8|N[f|23],N[f|24]<<24|N[f|25]<<16|N[f|26]<<8|N[f|27],N[f|28]<<24|N[f|29]<<16|N[f|30]<<8|N[f|31],N[f|32]<<24|N[f|33]<<16|N[f|34]<<8|N[f|35],N[f|36]<<24|N[f|37]<<16|N[f|38]<<8|N[f|39],N[f|40]<<24|N[f|41]<<16|N[f|42]<<8|N[f|43],N[f|44]<<24|N[f|45]<<16|N[f|46]<<8|N[f|47],N[f|48]<<24|N[f|49]<<16|N[f|50]<<8|N[f|51],N[f|52]<<24|N[f|53]<<16|N[f|54]<<8|N[f|55],N[f|56]<<24|N[f|57]<<16|N[f|58]<<8|N[f|59],N[f|60]<<24|N[f|61]<<16|N[f|62]<<8|N[f|63])}function q(f){f=f|0;N[f|0]=E>>>24;N[f|1]=E>>>16&255;N[f|2]=E>>>8&255;N[f|3]=E&255;N[f|4]=C>>>24;N[f|5]=C>>>16&255;N[f|6]=C>>>8&255;N[f|7]=C&255;N[f|8]=S>>>24;N[f|9]=S>>>16&255;N[f|10]=S>>>8&255;N[f|11]=S&255;N[f|12]=M>>>24;N[f|13]=M>>>16&255;N[f|14]=M>>>8&255;N[f|15]=M&255;N[f|16]=U>>>24;N[f|17]=U>>>16&255;N[f|18]=U>>>8&255;N[f|19]=U&255;N[f|20]=O>>>24;N[f|21]=O>>>16&255;N[f|22]=O>>>8&255;N[f|23]=O&255;N[f|24]=H>>>24;N[f|25]=H>>>16&255;N[f|26]=H>>>8&255;N[f|27]=H&255;N[f|28]=L>>>24;N[f|29]=L>>>16&255;N[f|30]=L>>>8&255;N[f|31]=L&255}function F(){E=0x6a09e667;C=0xbb67ae85;S=0x3c6ef372;M=0xa54ff53a;U=0x510e527f;O=0x9b05688c;H=0x1f83d9ab;L=0x5be0cd19;b=_=0}function r(f,t,e,r,n,i,s,a,o,c){f=f|0;t=t|0;e=e|0;r=r|0;n=n|0;i=i|0;s=s|0;a=a|0;o=o|0;c=c|0;E=f;C=t;S=e;M=r;U=n;O=i;H=s;L=a;b=o;_=c}function s(f,t){f=f|0;t=t|0;var e=0;if(f&63)return-1;while((t|0)>=64){i(f);f=f+64|0;t=t-64|0;e=e+64|0}b=b+e|0;if(b>>>0<e>>>0)_=_+1|0;return e|0}function u(f,t,e){f=f|0;t=t|0;e=e|0;var r=0,n=0;if(f&63)return-1;if(~e)if(e&31)return-1;if((t|0)>=64){r=s(f,t)|0;if((r|0)==-1)return-1;f=f+r|0;t=t-r|0}r=r+t|0;b=b+t|0;if(b>>>0<t>>>0)_=_+1|0;N[f|t]=0x80;if((t|0)>=56){for(n=t+1|0;(n|0)<64;n=n+1|0)N[f|n]=0x00;i(f);t=0;N[f|0]=0}for(n=t+1|0;(n|0)<59;n=n+1|0)N[f|n]=0;N[f|56]=_>>>21&255;N[f|57]=_>>>13&255;N[f|58]=_>>>5&255;N[f|59]=_<<3&255|b>>>29;N[f|60]=b>>>21&255;N[f|61]=b>>>13&255;N[f|62]=b>>>5&255;N[f|63]=b<<3&255;i(f);if(~e)q(e);return r|0}function V(){E=g;C=v;S=d;M=w;U=A;O=m;H=k;L=P;b=64;_=0}function K(){E=D;C=R;S=T;M=Z;U=B;O=I;H=z;L=G;b=64;_=0}function n(f,t,e,r,n,i,s,a,o,c,x,h,u,p,l,y){f=f|0;t=t|0;e=e|0;r=r|0;n=n|0;i=i|0;s=s|0;a=a|0;o=o|0;c=c|0;x=x|0;h=h|0;u=u|0;p=p|0;l=l|0;y=y|0;F();j(f^0x5c5c5c5c,t^0x5c5c5c5c,e^0x5c5c5c5c,r^0x5c5c5c5c,n^0x5c5c5c5c,i^0x5c5c5c5c,s^0x5c5c5c5c,a^0x5c5c5c5c,o^0x5c5c5c5c,c^0x5c5c5c5c,x^0x5c5c5c5c,h^0x5c5c5c5c,u^0x5c5c5c5c,p^0x5c5c5c5c,l^0x5c5c5c5c,y^0x5c5c5c5c);D=E;R=C;T=S;Z=M;B=U;I=O;z=H;G=L;F();j(f^0x36363636,t^0x36363636,e^0x36363636,r^0x36363636,n^0x36363636,i^0x36363636,s^0x36363636,a^0x36363636,o^0x36363636,c^0x36363636,x^0x36363636,h^0x36363636,u^0x36363636,p^0x36363636,l^0x36363636,y^0x36363636);g=E;v=C;d=S;w=M;A=U;m=O;k=H;P=L;b=64;_=0}function W(f,t,e){f=f|0;t=t|0;e=e|0;var r=0,n=0,i=0,s=0,a=0,o=0,c=0,x=0,h=0;if(f&63)return-1;if(~e)if(e&31)return-1;h=u(f,t,-1)|0;r=E,n=C,i=S,s=M,a=U,o=O,c=H,x=L;K();j(r,n,i,s,a,o,c,x,0x80000000,0,0,0,0,0,0,768);if(~e)q(e);return h|0}function a(f,t,e,r,n){f=f|0;t=t|0;e=e|0;r=r|0;n=n|0;var i=0,s=0,a=0,o=0,c=0,x=0,h=0,u=0,p=0,l=0,y=0,b=0,_=0,g=0,v=0,d=0;if(f&63)return-1;if(~n)if(n&31)return-1;N[f+t|0]=e>>>24;N[f+t+1|0]=e>>>16&255;N[f+t+2|0]=e>>>8&255;N[f+t+3|0]=e&255;W(f,t+4|0,-1)|0;i=p=E,s=l=C,a=y=S,o=b=M,c=_=U,x=g=O,h=v=H,u=d=L;r=r-1|0;while((r|0)>0){V();j(p,l,y,b,_,g,v,d,0x80000000,0,0,0,0,0,0,768);p=E,l=C,y=S,b=M,_=U,g=O,v=H,d=L;K();j(p,l,y,b,_,g,v,d,0x80000000,0,0,0,0,0,0,768);p=E,l=C,y=S,b=M,_=U,g=O,v=H,d=L;i=i^E;s=s^C;a=a^S;o=o^M;c=c^U;x=x^O;h=h^H;u=u^L;r=r-1|0}E=i;C=s;S=a;M=o;U=c;O=x;H=h;L=u;if(~n)q(n);return 0}return{reset:F,init:r,process:s,finish:u,hmac_reset:V,hmac_init:n,hmac_finish:W,pbkdf2_generate_block:a}},sf=function(){var r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(f,t){f.__proto__=t}||function(f,t){for(var e in t)t.hasOwnProperty(e)&&(f[e]=t[e])};return function(f,t){function e(){this.constructor=f}r(f,t),f.prototype=null===t?Object.create(t):(e.prototype=t.prototype,new e)}}(),af=64,of=32,cf=function(t){function e(){var f=null!==t&&t.apply(this,arguments)||this;return f.NAME="sha256",f.BLOCK_SIZE=af,f.HASH_SIZE=of,f}return sf(e,t),e.bytes=function(f){return(new e).process(f).finish().result},e.NAME="sha256",e.heap_pool=[],e.asm_pool=[],e.asm_function=nf,e}($),xf=function(f,t,e){"use asm";var X=0,Y=0,$=0,ff=0,tf=0,ef=0,rf=0,nf=0,sf=0,af=0,of=0,cf=0,xf=0,hf=0,uf=0,pf=0,k=0,P=0;var D=0,R=0,T=0,Z=0,B=0,I=0,z=0,G=0,N=0,j=0,q=0,F=0,V=0,K=0,W=0,J=0,Q=0,lf=0,yf=0,bf=0,_f=0,gf=0,vf=0,df=0,wf=0,Af=0,mf=0,Ef=0,Cf=0,Sf=0,Mf=0,Uf=0;var Of=new f.Uint8Array(e);function Hf(f,t,e,r,n,i,s,a,o,c,x,h,u,p,l,y,b,_,g,v,d,w,A,m,E,C,S,M,U,O,H,L){f=f|0;t=t|0;e=e|0;r=r|0;n=n|0;i=i|0;s=s|0;a=a|0;o=o|0;c=c|0;x=x|0;h=h|0;u=u|0;p=p|0;l=l|0;y=y|0;b=b|0;_=_|0;g=g|0;v=v|0;d=d|0;w=w|0;A=A|0;m=m|0;E=E|0;C=C|0;S=S|0;M=M|0;U=U|0;O=O|0;H=H|0;L=L|0;var k=0,P=0,D=0,R=0,T=0,Z=0,B=0,I=0,z=0,G=0,N=0,j=0,q=0,F=0,V=0,K=0,W=0,J=0,Q=0;k=X;P=Y;D=$;R=ff;T=tf;Z=ef;B=rf;I=nf;z=sf;G=af;N=of;j=cf;q=xf;F=hf;V=uf;K=pf;J=0xd728ae22+t|0;W=0x428a2f98+f+(J>>>0<t>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;J=0x23ef65cd+r|0;W=0x71374491+e+(J>>>0<r>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;J=0xec4d3b2f+i|0;W=0xb5c0fbcf+n+(J>>>0<i>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;J=0x8189dbbc+a|0;W=0xe9b5dba5+s+(J>>>0<a>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;J=0xf348b538+c|0;W=0x3956c25b+o+(J>>>0<c>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;J=0xb605d019+h|0;W=0x59f111f1+x+(J>>>0<h>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;J=0xaf194f9b+p|0;W=0x923f82a4+u+(J>>>0<p>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;J=0xda6d8118+y|0;W=0xab1c5ed5+l+(J>>>0<y>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;J=0xa3030242+_|0;W=0xd807aa98+b+(J>>>0<_>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;J=0x45706fbe+v|0;W=0x12835b01+g+(J>>>0<v>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;J=0x4ee4b28c+w|0;W=0x243185be+d+(J>>>0<w>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;J=0xd5ffb4e2+m|0;W=0x550c7dc3+A+(J>>>0<m>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;J=0xf27b896f+C|0;W=0x72be5d74+E+(J>>>0<C>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;J=0x3b1696b1+M|0;W=0x80deb1fe+S+(J>>>0<M>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;J=0x25c71235+O|0;W=0x9bdc06a7+U+(J>>>0<O>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;J=0xcf692694+L|0;W=0xc19bf174+H+(J>>>0<L>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;t=t+v|0;f=f+g+(t>>>0<v>>>0?1:0)|0;Q=(r>>>1|e<<31)^(r>>>8|e<<24)^(r>>>7|e<<25)|0;t=t+Q|0;f=f+((e>>>1|r<<31)^(e>>>8|r<<24)^e>>>7)+(t>>>0<Q>>>0?1:0)|0;Q=(O>>>19|U<<13)^(O<<3|U>>>29)^(O>>>6|U<<26)|0;t=t+Q|0;f=f+((U>>>19|O<<13)^(U<<3|O>>>29)^U>>>6)+(t>>>0<Q>>>0?1:0)|0;J=0x9ef14ad2+t|0;W=0xe49b69c1+f+(J>>>0<t>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;r=r+w|0;e=e+d+(r>>>0<w>>>0?1:0)|0;Q=(i>>>1|n<<31)^(i>>>8|n<<24)^(i>>>7|n<<25)|0;r=r+Q|0;e=e+((n>>>1|i<<31)^(n>>>8|i<<24)^n>>>7)+(r>>>0<Q>>>0?1:0)|0;Q=(L>>>19|H<<13)^(L<<3|H>>>29)^(L>>>6|H<<26)|0;r=r+Q|0;e=e+((H>>>19|L<<13)^(H<<3|L>>>29)^H>>>6)+(r>>>0<Q>>>0?1:0)|0;J=0x384f25e3+r|0;W=0xefbe4786+e+(J>>>0<r>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;i=i+m|0;n=n+A+(i>>>0<m>>>0?1:0)|0;Q=(a>>>1|s<<31)^(a>>>8|s<<24)^(a>>>7|s<<25)|0;i=i+Q|0;n=n+((s>>>1|a<<31)^(s>>>8|a<<24)^s>>>7)+(i>>>0<Q>>>0?1:0)|0;Q=(t>>>19|f<<13)^(t<<3|f>>>29)^(t>>>6|f<<26)|0;i=i+Q|0;n=n+((f>>>19|t<<13)^(f<<3|t>>>29)^f>>>6)+(i>>>0<Q>>>0?1:0)|0;J=0x8b8cd5b5+i|0;W=0xfc19dc6+n+(J>>>0<i>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;a=a+C|0;s=s+E+(a>>>0<C>>>0?1:0)|0;Q=(c>>>1|o<<31)^(c>>>8|o<<24)^(c>>>7|o<<25)|0;a=a+Q|0;s=s+((o>>>1|c<<31)^(o>>>8|c<<24)^o>>>7)+(a>>>0<Q>>>0?1:0)|0;Q=(r>>>19|e<<13)^(r<<3|e>>>29)^(r>>>6|e<<26)|0;a=a+Q|0;s=s+((e>>>19|r<<13)^(e<<3|r>>>29)^e>>>6)+(a>>>0<Q>>>0?1:0)|0;J=0x77ac9c65+a|0;W=0x240ca1cc+s+(J>>>0<a>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;c=c+M|0;o=o+S+(c>>>0<M>>>0?1:0)|0;Q=(h>>>1|x<<31)^(h>>>8|x<<24)^(h>>>7|x<<25)|0;c=c+Q|0;o=o+((x>>>1|h<<31)^(x>>>8|h<<24)^x>>>7)+(c>>>0<Q>>>0?1:0)|0;Q=(i>>>19|n<<13)^(i<<3|n>>>29)^(i>>>6|n<<26)|0;c=c+Q|0;o=o+((n>>>19|i<<13)^(n<<3|i>>>29)^n>>>6)+(c>>>0<Q>>>0?1:0)|0;J=0x592b0275+c|0;W=0x2de92c6f+o+(J>>>0<c>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;h=h+O|0;x=x+U+(h>>>0<O>>>0?1:0)|0;Q=(p>>>1|u<<31)^(p>>>8|u<<24)^(p>>>7|u<<25)|0;h=h+Q|0;x=x+((u>>>1|p<<31)^(u>>>8|p<<24)^u>>>7)+(h>>>0<Q>>>0?1:0)|0;Q=(a>>>19|s<<13)^(a<<3|s>>>29)^(a>>>6|s<<26)|0;h=h+Q|0;x=x+((s>>>19|a<<13)^(s<<3|a>>>29)^s>>>6)+(h>>>0<Q>>>0?1:0)|0;J=0x6ea6e483+h|0;W=0x4a7484aa+x+(J>>>0<h>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;p=p+L|0;u=u+H+(p>>>0<L>>>0?1:0)|0;Q=(y>>>1|l<<31)^(y>>>8|l<<24)^(y>>>7|l<<25)|0;p=p+Q|0;u=u+((l>>>1|y<<31)^(l>>>8|y<<24)^l>>>7)+(p>>>0<Q>>>0?1:0)|0;Q=(c>>>19|o<<13)^(c<<3|o>>>29)^(c>>>6|o<<26)|0;p=p+Q|0;u=u+((o>>>19|c<<13)^(o<<3|c>>>29)^o>>>6)+(p>>>0<Q>>>0?1:0)|0;J=0xbd41fbd4+p|0;W=0x5cb0a9dc+u+(J>>>0<p>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;y=y+t|0;l=l+f+(y>>>0<t>>>0?1:0)|0;Q=(_>>>1|b<<31)^(_>>>8|b<<24)^(_>>>7|b<<25)|0;y=y+Q|0;l=l+((b>>>1|_<<31)^(b>>>8|_<<24)^b>>>7)+(y>>>0<Q>>>0?1:0)|0;Q=(h>>>19|x<<13)^(h<<3|x>>>29)^(h>>>6|x<<26)|0;y=y+Q|0;l=l+((x>>>19|h<<13)^(x<<3|h>>>29)^x>>>6)+(y>>>0<Q>>>0?1:0)|0;J=0x831153b5+y|0;W=0x76f988da+l+(J>>>0<y>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;_=_+r|0;b=b+e+(_>>>0<r>>>0?1:0)|0;Q=(v>>>1|g<<31)^(v>>>8|g<<24)^(v>>>7|g<<25)|0;_=_+Q|0;b=b+((g>>>1|v<<31)^(g>>>8|v<<24)^g>>>7)+(_>>>0<Q>>>0?1:0)|0;Q=(p>>>19|u<<13)^(p<<3|u>>>29)^(p>>>6|u<<26)|0;_=_+Q|0;b=b+((u>>>19|p<<13)^(u<<3|p>>>29)^u>>>6)+(_>>>0<Q>>>0?1:0)|0;J=0xee66dfab+_|0;W=0x983e5152+b+(J>>>0<_>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;v=v+i|0;g=g+n+(v>>>0<i>>>0?1:0)|0;Q=(w>>>1|d<<31)^(w>>>8|d<<24)^(w>>>7|d<<25)|0;v=v+Q|0;g=g+((d>>>1|w<<31)^(d>>>8|w<<24)^d>>>7)+(v>>>0<Q>>>0?1:0)|0;Q=(y>>>19|l<<13)^(y<<3|l>>>29)^(y>>>6|l<<26)|0;v=v+Q|0;g=g+((l>>>19|y<<13)^(l<<3|y>>>29)^l>>>6)+(v>>>0<Q>>>0?1:0)|0;J=0x2db43210+v|0;W=0xa831c66d+g+(J>>>0<v>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;w=w+a|0;d=d+s+(w>>>0<a>>>0?1:0)|0;Q=(m>>>1|A<<31)^(m>>>8|A<<24)^(m>>>7|A<<25)|0;w=w+Q|0;d=d+((A>>>1|m<<31)^(A>>>8|m<<24)^A>>>7)+(w>>>0<Q>>>0?1:0)|0;Q=(_>>>19|b<<13)^(_<<3|b>>>29)^(_>>>6|b<<26)|0;w=w+Q|0;d=d+((b>>>19|_<<13)^(b<<3|_>>>29)^b>>>6)+(w>>>0<Q>>>0?1:0)|0;J=0x98fb213f+w|0;W=0xb00327c8+d+(J>>>0<w>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;m=m+c|0;A=A+o+(m>>>0<c>>>0?1:0)|0;Q=(C>>>1|E<<31)^(C>>>8|E<<24)^(C>>>7|E<<25)|0;m=m+Q|0;A=A+((E>>>1|C<<31)^(E>>>8|C<<24)^E>>>7)+(m>>>0<Q>>>0?1:0)|0;Q=(v>>>19|g<<13)^(v<<3|g>>>29)^(v>>>6|g<<26)|0;m=m+Q|0;A=A+((g>>>19|v<<13)^(g<<3|v>>>29)^g>>>6)+(m>>>0<Q>>>0?1:0)|0;J=0xbeef0ee4+m|0;W=0xbf597fc7+A+(J>>>0<m>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;C=C+h|0;E=E+x+(C>>>0<h>>>0?1:0)|0;Q=(M>>>1|S<<31)^(M>>>8|S<<24)^(M>>>7|S<<25)|0;C=C+Q|0;E=E+((S>>>1|M<<31)^(S>>>8|M<<24)^S>>>7)+(C>>>0<Q>>>0?1:0)|0;Q=(w>>>19|d<<13)^(w<<3|d>>>29)^(w>>>6|d<<26)|0;C=C+Q|0;E=E+((d>>>19|w<<13)^(d<<3|w>>>29)^d>>>6)+(C>>>0<Q>>>0?1:0)|0;J=0x3da88fc2+C|0;W=0xc6e00bf3+E+(J>>>0<C>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;M=M+p|0;S=S+u+(M>>>0<p>>>0?1:0)|0;Q=(O>>>1|U<<31)^(O>>>8|U<<24)^(O>>>7|U<<25)|0;M=M+Q|0;S=S+((U>>>1|O<<31)^(U>>>8|O<<24)^U>>>7)+(M>>>0<Q>>>0?1:0)|0;Q=(m>>>19|A<<13)^(m<<3|A>>>29)^(m>>>6|A<<26)|0;M=M+Q|0;S=S+((A>>>19|m<<13)^(A<<3|m>>>29)^A>>>6)+(M>>>0<Q>>>0?1:0)|0;J=0x930aa725+M|0;W=0xd5a79147+S+(J>>>0<M>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;O=O+y|0;U=U+l+(O>>>0<y>>>0?1:0)|0;Q=(L>>>1|H<<31)^(L>>>8|H<<24)^(L>>>7|H<<25)|0;O=O+Q|0;U=U+((H>>>1|L<<31)^(H>>>8|L<<24)^H>>>7)+(O>>>0<Q>>>0?1:0)|0;Q=(C>>>19|E<<13)^(C<<3|E>>>29)^(C>>>6|E<<26)|0;O=O+Q|0;U=U+((E>>>19|C<<13)^(E<<3|C>>>29)^E>>>6)+(O>>>0<Q>>>0?1:0)|0;J=0xe003826f+O|0;W=0x6ca6351+U+(J>>>0<O>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;L=L+_|0;H=H+b+(L>>>0<_>>>0?1:0)|0;Q=(t>>>1|f<<31)^(t>>>8|f<<24)^(t>>>7|f<<25)|0;L=L+Q|0;H=H+((f>>>1|t<<31)^(f>>>8|t<<24)^f>>>7)+(L>>>0<Q>>>0?1:0)|0;Q=(M>>>19|S<<13)^(M<<3|S>>>29)^(M>>>6|S<<26)|0;L=L+Q|0;H=H+((S>>>19|M<<13)^(S<<3|M>>>29)^S>>>6)+(L>>>0<Q>>>0?1:0)|0;J=0xa0e6e70+L|0;W=0x14292967+H+(J>>>0<L>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;t=t+v|0;f=f+g+(t>>>0<v>>>0?1:0)|0;Q=(r>>>1|e<<31)^(r>>>8|e<<24)^(r>>>7|e<<25)|0;t=t+Q|0;f=f+((e>>>1|r<<31)^(e>>>8|r<<24)^e>>>7)+(t>>>0<Q>>>0?1:0)|0;Q=(O>>>19|U<<13)^(O<<3|U>>>29)^(O>>>6|U<<26)|0;t=t+Q|0;f=f+((U>>>19|O<<13)^(U<<3|O>>>29)^U>>>6)+(t>>>0<Q>>>0?1:0)|0;J=0x46d22ffc+t|0;W=0x27b70a85+f+(J>>>0<t>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;r=r+w|0;e=e+d+(r>>>0<w>>>0?1:0)|0;Q=(i>>>1|n<<31)^(i>>>8|n<<24)^(i>>>7|n<<25)|0;r=r+Q|0;e=e+((n>>>1|i<<31)^(n>>>8|i<<24)^n>>>7)+(r>>>0<Q>>>0?1:0)|0;Q=(L>>>19|H<<13)^(L<<3|H>>>29)^(L>>>6|H<<26)|0;r=r+Q|0;e=e+((H>>>19|L<<13)^(H<<3|L>>>29)^H>>>6)+(r>>>0<Q>>>0?1:0)|0;J=0x5c26c926+r|0;W=0x2e1b2138+e+(J>>>0<r>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;i=i+m|0;n=n+A+(i>>>0<m>>>0?1:0)|0;Q=(a>>>1|s<<31)^(a>>>8|s<<24)^(a>>>7|s<<25)|0;i=i+Q|0;n=n+((s>>>1|a<<31)^(s>>>8|a<<24)^s>>>7)+(i>>>0<Q>>>0?1:0)|0;Q=(t>>>19|f<<13)^(t<<3|f>>>29)^(t>>>6|f<<26)|0;i=i+Q|0;n=n+((f>>>19|t<<13)^(f<<3|t>>>29)^f>>>6)+(i>>>0<Q>>>0?1:0)|0;J=0x5ac42aed+i|0;W=0x4d2c6dfc+n+(J>>>0<i>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;a=a+C|0;s=s+E+(a>>>0<C>>>0?1:0)|0;Q=(c>>>1|o<<31)^(c>>>8|o<<24)^(c>>>7|o<<25)|0;a=a+Q|0;s=s+((o>>>1|c<<31)^(o>>>8|c<<24)^o>>>7)+(a>>>0<Q>>>0?1:0)|0;Q=(r>>>19|e<<13)^(r<<3|e>>>29)^(r>>>6|e<<26)|0;a=a+Q|0;s=s+((e>>>19|r<<13)^(e<<3|r>>>29)^e>>>6)+(a>>>0<Q>>>0?1:0)|0;J=0x9d95b3df+a|0;W=0x53380d13+s+(J>>>0<a>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;c=c+M|0;o=o+S+(c>>>0<M>>>0?1:0)|0;Q=(h>>>1|x<<31)^(h>>>8|x<<24)^(h>>>7|x<<25)|0;c=c+Q|0;o=o+((x>>>1|h<<31)^(x>>>8|h<<24)^x>>>7)+(c>>>0<Q>>>0?1:0)|0;Q=(i>>>19|n<<13)^(i<<3|n>>>29)^(i>>>6|n<<26)|0;c=c+Q|0;o=o+((n>>>19|i<<13)^(n<<3|i>>>29)^n>>>6)+(c>>>0<Q>>>0?1:0)|0;J=0x8baf63de+c|0;W=0x650a7354+o+(J>>>0<c>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;h=h+O|0;x=x+U+(h>>>0<O>>>0?1:0)|0;Q=(p>>>1|u<<31)^(p>>>8|u<<24)^(p>>>7|u<<25)|0;h=h+Q|0;x=x+((u>>>1|p<<31)^(u>>>8|p<<24)^u>>>7)+(h>>>0<Q>>>0?1:0)|0;Q=(a>>>19|s<<13)^(a<<3|s>>>29)^(a>>>6|s<<26)|0;h=h+Q|0;x=x+((s>>>19|a<<13)^(s<<3|a>>>29)^s>>>6)+(h>>>0<Q>>>0?1:0)|0;J=0x3c77b2a8+h|0;W=0x766a0abb+x+(J>>>0<h>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;p=p+L|0;u=u+H+(p>>>0<L>>>0?1:0)|0;Q=(y>>>1|l<<31)^(y>>>8|l<<24)^(y>>>7|l<<25)|0;p=p+Q|0;u=u+((l>>>1|y<<31)^(l>>>8|y<<24)^l>>>7)+(p>>>0<Q>>>0?1:0)|0;Q=(c>>>19|o<<13)^(c<<3|o>>>29)^(c>>>6|o<<26)|0;p=p+Q|0;u=u+((o>>>19|c<<13)^(o<<3|c>>>29)^o>>>6)+(p>>>0<Q>>>0?1:0)|0;J=0x47edaee6+p|0;W=0x81c2c92e+u+(J>>>0<p>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;y=y+t|0;l=l+f+(y>>>0<t>>>0?1:0)|0;Q=(_>>>1|b<<31)^(_>>>8|b<<24)^(_>>>7|b<<25)|0;y=y+Q|0;l=l+((b>>>1|_<<31)^(b>>>8|_<<24)^b>>>7)+(y>>>0<Q>>>0?1:0)|0;Q=(h>>>19|x<<13)^(h<<3|x>>>29)^(h>>>6|x<<26)|0;y=y+Q|0;l=l+((x>>>19|h<<13)^(x<<3|h>>>29)^x>>>6)+(y>>>0<Q>>>0?1:0)|0;J=0x1482353b+y|0;W=0x92722c85+l+(J>>>0<y>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;_=_+r|0;b=b+e+(_>>>0<r>>>0?1:0)|0;Q=(v>>>1|g<<31)^(v>>>8|g<<24)^(v>>>7|g<<25)|0;_=_+Q|0;b=b+((g>>>1|v<<31)^(g>>>8|v<<24)^g>>>7)+(_>>>0<Q>>>0?1:0)|0;Q=(p>>>19|u<<13)^(p<<3|u>>>29)^(p>>>6|u<<26)|0;_=_+Q|0;b=b+((u>>>19|p<<13)^(u<<3|p>>>29)^u>>>6)+(_>>>0<Q>>>0?1:0)|0;J=0x4cf10364+_|0;W=0xa2bfe8a1+b+(J>>>0<_>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;v=v+i|0;g=g+n+(v>>>0<i>>>0?1:0)|0;Q=(w>>>1|d<<31)^(w>>>8|d<<24)^(w>>>7|d<<25)|0;v=v+Q|0;g=g+((d>>>1|w<<31)^(d>>>8|w<<24)^d>>>7)+(v>>>0<Q>>>0?1:0)|0;Q=(y>>>19|l<<13)^(y<<3|l>>>29)^(y>>>6|l<<26)|0;v=v+Q|0;g=g+((l>>>19|y<<13)^(l<<3|y>>>29)^l>>>6)+(v>>>0<Q>>>0?1:0)|0;J=0xbc423001+v|0;W=0xa81a664b+g+(J>>>0<v>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;w=w+a|0;d=d+s+(w>>>0<a>>>0?1:0)|0;Q=(m>>>1|A<<31)^(m>>>8|A<<24)^(m>>>7|A<<25)|0;w=w+Q|0;d=d+((A>>>1|m<<31)^(A>>>8|m<<24)^A>>>7)+(w>>>0<Q>>>0?1:0)|0;Q=(_>>>19|b<<13)^(_<<3|b>>>29)^(_>>>6|b<<26)|0;w=w+Q|0;d=d+((b>>>19|_<<13)^(b<<3|_>>>29)^b>>>6)+(w>>>0<Q>>>0?1:0)|0;J=0xd0f89791+w|0;W=0xc24b8b70+d+(J>>>0<w>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;m=m+c|0;A=A+o+(m>>>0<c>>>0?1:0)|0;Q=(C>>>1|E<<31)^(C>>>8|E<<24)^(C>>>7|E<<25)|0;m=m+Q|0;A=A+((E>>>1|C<<31)^(E>>>8|C<<24)^E>>>7)+(m>>>0<Q>>>0?1:0)|0;Q=(v>>>19|g<<13)^(v<<3|g>>>29)^(v>>>6|g<<26)|0;m=m+Q|0;A=A+((g>>>19|v<<13)^(g<<3|v>>>29)^g>>>6)+(m>>>0<Q>>>0?1:0)|0;J=0x654be30+m|0;W=0xc76c51a3+A+(J>>>0<m>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;C=C+h|0;E=E+x+(C>>>0<h>>>0?1:0)|0;Q=(M>>>1|S<<31)^(M>>>8|S<<24)^(M>>>7|S<<25)|0;C=C+Q|0;E=E+((S>>>1|M<<31)^(S>>>8|M<<24)^S>>>7)+(C>>>0<Q>>>0?1:0)|0;Q=(w>>>19|d<<13)^(w<<3|d>>>29)^(w>>>6|d<<26)|0;C=C+Q|0;E=E+((d>>>19|w<<13)^(d<<3|w>>>29)^d>>>6)+(C>>>0<Q>>>0?1:0)|0;J=0xd6ef5218+C|0;W=0xd192e819+E+(J>>>0<C>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;M=M+p|0;S=S+u+(M>>>0<p>>>0?1:0)|0;Q=(O>>>1|U<<31)^(O>>>8|U<<24)^(O>>>7|U<<25)|0;M=M+Q|0;S=S+((U>>>1|O<<31)^(U>>>8|O<<24)^U>>>7)+(M>>>0<Q>>>0?1:0)|0;Q=(m>>>19|A<<13)^(m<<3|A>>>29)^(m>>>6|A<<26)|0;M=M+Q|0;S=S+((A>>>19|m<<13)^(A<<3|m>>>29)^A>>>6)+(M>>>0<Q>>>0?1:0)|0;J=0x5565a910+M|0;W=0xd6990624+S+(J>>>0<M>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;O=O+y|0;U=U+l+(O>>>0<y>>>0?1:0)|0;Q=(L>>>1|H<<31)^(L>>>8|H<<24)^(L>>>7|H<<25)|0;O=O+Q|0;U=U+((H>>>1|L<<31)^(H>>>8|L<<24)^H>>>7)+(O>>>0<Q>>>0?1:0)|0;Q=(C>>>19|E<<13)^(C<<3|E>>>29)^(C>>>6|E<<26)|0;O=O+Q|0;U=U+((E>>>19|C<<13)^(E<<3|C>>>29)^E>>>6)+(O>>>0<Q>>>0?1:0)|0;J=0x5771202a+O|0;W=0xf40e3585+U+(J>>>0<O>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;L=L+_|0;H=H+b+(L>>>0<_>>>0?1:0)|0;Q=(t>>>1|f<<31)^(t>>>8|f<<24)^(t>>>7|f<<25)|0;L=L+Q|0;H=H+((f>>>1|t<<31)^(f>>>8|t<<24)^f>>>7)+(L>>>0<Q>>>0?1:0)|0;Q=(M>>>19|S<<13)^(M<<3|S>>>29)^(M>>>6|S<<26)|0;L=L+Q|0;H=H+((S>>>19|M<<13)^(S<<3|M>>>29)^S>>>6)+(L>>>0<Q>>>0?1:0)|0;J=0x32bbd1b8+L|0;W=0x106aa070+H+(J>>>0<L>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;t=t+v|0;f=f+g+(t>>>0<v>>>0?1:0)|0;Q=(r>>>1|e<<31)^(r>>>8|e<<24)^(r>>>7|e<<25)|0;t=t+Q|0;f=f+((e>>>1|r<<31)^(e>>>8|r<<24)^e>>>7)+(t>>>0<Q>>>0?1:0)|0;Q=(O>>>19|U<<13)^(O<<3|U>>>29)^(O>>>6|U<<26)|0;t=t+Q|0;f=f+((U>>>19|O<<13)^(U<<3|O>>>29)^U>>>6)+(t>>>0<Q>>>0?1:0)|0;J=0xb8d2d0c8+t|0;W=0x19a4c116+f+(J>>>0<t>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;r=r+w|0;e=e+d+(r>>>0<w>>>0?1:0)|0;Q=(i>>>1|n<<31)^(i>>>8|n<<24)^(i>>>7|n<<25)|0;r=r+Q|0;e=e+((n>>>1|i<<31)^(n>>>8|i<<24)^n>>>7)+(r>>>0<Q>>>0?1:0)|0;Q=(L>>>19|H<<13)^(L<<3|H>>>29)^(L>>>6|H<<26)|0;r=r+Q|0;e=e+((H>>>19|L<<13)^(H<<3|L>>>29)^H>>>6)+(r>>>0<Q>>>0?1:0)|0;J=0x5141ab53+r|0;W=0x1e376c08+e+(J>>>0<r>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;i=i+m|0;n=n+A+(i>>>0<m>>>0?1:0)|0;Q=(a>>>1|s<<31)^(a>>>8|s<<24)^(a>>>7|s<<25)|0;i=i+Q|0;n=n+((s>>>1|a<<31)^(s>>>8|a<<24)^s>>>7)+(i>>>0<Q>>>0?1:0)|0;Q=(t>>>19|f<<13)^(t<<3|f>>>29)^(t>>>6|f<<26)|0;i=i+Q|0;n=n+((f>>>19|t<<13)^(f<<3|t>>>29)^f>>>6)+(i>>>0<Q>>>0?1:0)|0;J=0xdf8eeb99+i|0;W=0x2748774c+n+(J>>>0<i>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;a=a+C|0;s=s+E+(a>>>0<C>>>0?1:0)|0;Q=(c>>>1|o<<31)^(c>>>8|o<<24)^(c>>>7|o<<25)|0;a=a+Q|0;s=s+((o>>>1|c<<31)^(o>>>8|c<<24)^o>>>7)+(a>>>0<Q>>>0?1:0)|0;Q=(r>>>19|e<<13)^(r<<3|e>>>29)^(r>>>6|e<<26)|0;a=a+Q|0;s=s+((e>>>19|r<<13)^(e<<3|r>>>29)^e>>>6)+(a>>>0<Q>>>0?1:0)|0;J=0xe19b48a8+a|0;W=0x34b0bcb5+s+(J>>>0<a>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;c=c+M|0;o=o+S+(c>>>0<M>>>0?1:0)|0;Q=(h>>>1|x<<31)^(h>>>8|x<<24)^(h>>>7|x<<25)|0;c=c+Q|0;o=o+((x>>>1|h<<31)^(x>>>8|h<<24)^x>>>7)+(c>>>0<Q>>>0?1:0)|0;Q=(i>>>19|n<<13)^(i<<3|n>>>29)^(i>>>6|n<<26)|0;c=c+Q|0;o=o+((n>>>19|i<<13)^(n<<3|i>>>29)^n>>>6)+(c>>>0<Q>>>0?1:0)|0;J=0xc5c95a63+c|0;W=0x391c0cb3+o+(J>>>0<c>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;h=h+O|0;x=x+U+(h>>>0<O>>>0?1:0)|0;Q=(p>>>1|u<<31)^(p>>>8|u<<24)^(p>>>7|u<<25)|0;h=h+Q|0;x=x+((u>>>1|p<<31)^(u>>>8|p<<24)^u>>>7)+(h>>>0<Q>>>0?1:0)|0;Q=(a>>>19|s<<13)^(a<<3|s>>>29)^(a>>>6|s<<26)|0;h=h+Q|0;x=x+((s>>>19|a<<13)^(s<<3|a>>>29)^s>>>6)+(h>>>0<Q>>>0?1:0)|0;J=0xe3418acb+h|0;W=0x4ed8aa4a+x+(J>>>0<h>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;p=p+L|0;u=u+H+(p>>>0<L>>>0?1:0)|0;Q=(y>>>1|l<<31)^(y>>>8|l<<24)^(y>>>7|l<<25)|0;p=p+Q|0;u=u+((l>>>1|y<<31)^(l>>>8|y<<24)^l>>>7)+(p>>>0<Q>>>0?1:0)|0;Q=(c>>>19|o<<13)^(c<<3|o>>>29)^(c>>>6|o<<26)|0;p=p+Q|0;u=u+((o>>>19|c<<13)^(o<<3|c>>>29)^o>>>6)+(p>>>0<Q>>>0?1:0)|0;J=0x7763e373+p|0;W=0x5b9cca4f+u+(J>>>0<p>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;y=y+t|0;l=l+f+(y>>>0<t>>>0?1:0)|0;Q=(_>>>1|b<<31)^(_>>>8|b<<24)^(_>>>7|b<<25)|0;y=y+Q|0;l=l+((b>>>1|_<<31)^(b>>>8|_<<24)^b>>>7)+(y>>>0<Q>>>0?1:0)|0;Q=(h>>>19|x<<13)^(h<<3|x>>>29)^(h>>>6|x<<26)|0;y=y+Q|0;l=l+((x>>>19|h<<13)^(x<<3|h>>>29)^x>>>6)+(y>>>0<Q>>>0?1:0)|0;J=0xd6b2b8a3+y|0;W=0x682e6ff3+l+(J>>>0<y>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;_=_+r|0;b=b+e+(_>>>0<r>>>0?1:0)|0;Q=(v>>>1|g<<31)^(v>>>8|g<<24)^(v>>>7|g<<25)|0;_=_+Q|0;b=b+((g>>>1|v<<31)^(g>>>8|v<<24)^g>>>7)+(_>>>0<Q>>>0?1:0)|0;Q=(p>>>19|u<<13)^(p<<3|u>>>29)^(p>>>6|u<<26)|0;_=_+Q|0;b=b+((u>>>19|p<<13)^(u<<3|p>>>29)^u>>>6)+(_>>>0<Q>>>0?1:0)|0;J=0x5defb2fc+_|0;W=0x748f82ee+b+(J>>>0<_>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;v=v+i|0;g=g+n+(v>>>0<i>>>0?1:0)|0;Q=(w>>>1|d<<31)^(w>>>8|d<<24)^(w>>>7|d<<25)|0;v=v+Q|0;g=g+((d>>>1|w<<31)^(d>>>8|w<<24)^d>>>7)+(v>>>0<Q>>>0?1:0)|0;Q=(y>>>19|l<<13)^(y<<3|l>>>29)^(y>>>6|l<<26)|0;v=v+Q|0;g=g+((l>>>19|y<<13)^(l<<3|y>>>29)^l>>>6)+(v>>>0<Q>>>0?1:0)|0;J=0x43172f60+v|0;W=0x78a5636f+g+(J>>>0<v>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;w=w+a|0;d=d+s+(w>>>0<a>>>0?1:0)|0;Q=(m>>>1|A<<31)^(m>>>8|A<<24)^(m>>>7|A<<25)|0;w=w+Q|0;d=d+((A>>>1|m<<31)^(A>>>8|m<<24)^A>>>7)+(w>>>0<Q>>>0?1:0)|0;Q=(_>>>19|b<<13)^(_<<3|b>>>29)^(_>>>6|b<<26)|0;w=w+Q|0;d=d+((b>>>19|_<<13)^(b<<3|_>>>29)^b>>>6)+(w>>>0<Q>>>0?1:0)|0;J=0xa1f0ab72+w|0;W=0x84c87814+d+(J>>>0<w>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;m=m+c|0;A=A+o+(m>>>0<c>>>0?1:0)|0;Q=(C>>>1|E<<31)^(C>>>8|E<<24)^(C>>>7|E<<25)|0;m=m+Q|0;A=A+((E>>>1|C<<31)^(E>>>8|C<<24)^E>>>7)+(m>>>0<Q>>>0?1:0)|0;Q=(v>>>19|g<<13)^(v<<3|g>>>29)^(v>>>6|g<<26)|0;m=m+Q|0;A=A+((g>>>19|v<<13)^(g<<3|v>>>29)^g>>>6)+(m>>>0<Q>>>0?1:0)|0;J=0x1a6439ec+m|0;W=0x8cc70208+A+(J>>>0<m>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;C=C+h|0;E=E+x+(C>>>0<h>>>0?1:0)|0;Q=(M>>>1|S<<31)^(M>>>8|S<<24)^(M>>>7|S<<25)|0;C=C+Q|0;E=E+((S>>>1|M<<31)^(S>>>8|M<<24)^S>>>7)+(C>>>0<Q>>>0?1:0)|0;Q=(w>>>19|d<<13)^(w<<3|d>>>29)^(w>>>6|d<<26)|0;C=C+Q|0;E=E+((d>>>19|w<<13)^(d<<3|w>>>29)^d>>>6)+(C>>>0<Q>>>0?1:0)|0;J=0x23631e28+C|0;W=0x90befffa+E+(J>>>0<C>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;M=M+p|0;S=S+u+(M>>>0<p>>>0?1:0)|0;Q=(O>>>1|U<<31)^(O>>>8|U<<24)^(O>>>7|U<<25)|0;M=M+Q|0;S=S+((U>>>1|O<<31)^(U>>>8|O<<24)^U>>>7)+(M>>>0<Q>>>0?1:0)|0;Q=(m>>>19|A<<13)^(m<<3|A>>>29)^(m>>>6|A<<26)|0;M=M+Q|0;S=S+((A>>>19|m<<13)^(A<<3|m>>>29)^A>>>6)+(M>>>0<Q>>>0?1:0)|0;J=0xde82bde9+M|0;W=0xa4506ceb+S+(J>>>0<M>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;O=O+y|0;U=U+l+(O>>>0<y>>>0?1:0)|0;Q=(L>>>1|H<<31)^(L>>>8|H<<24)^(L>>>7|H<<25)|0;O=O+Q|0;U=U+((H>>>1|L<<31)^(H>>>8|L<<24)^H>>>7)+(O>>>0<Q>>>0?1:0)|0;Q=(C>>>19|E<<13)^(C<<3|E>>>29)^(C>>>6|E<<26)|0;O=O+Q|0;U=U+((E>>>19|C<<13)^(E<<3|C>>>29)^E>>>6)+(O>>>0<Q>>>0?1:0)|0;J=0xb2c67915+O|0;W=0xbef9a3f7+U+(J>>>0<O>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;L=L+_|0;H=H+b+(L>>>0<_>>>0?1:0)|0;Q=(t>>>1|f<<31)^(t>>>8|f<<24)^(t>>>7|f<<25)|0;L=L+Q|0;H=H+((f>>>1|t<<31)^(f>>>8|t<<24)^f>>>7)+(L>>>0<Q>>>0?1:0)|0;Q=(M>>>19|S<<13)^(M<<3|S>>>29)^(M>>>6|S<<26)|0;L=L+Q|0;H=H+((S>>>19|M<<13)^(S<<3|M>>>29)^S>>>6)+(L>>>0<Q>>>0?1:0)|0;J=0xe372532b+L|0;W=0xc67178f2+H+(J>>>0<L>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;t=t+v|0;f=f+g+(t>>>0<v>>>0?1:0)|0;Q=(r>>>1|e<<31)^(r>>>8|e<<24)^(r>>>7|e<<25)|0;t=t+Q|0;f=f+((e>>>1|r<<31)^(e>>>8|r<<24)^e>>>7)+(t>>>0<Q>>>0?1:0)|0;Q=(O>>>19|U<<13)^(O<<3|U>>>29)^(O>>>6|U<<26)|0;t=t+Q|0;f=f+((U>>>19|O<<13)^(U<<3|O>>>29)^U>>>6)+(t>>>0<Q>>>0?1:0)|0;J=0xea26619c+t|0;W=0xca273ece+f+(J>>>0<t>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;r=r+w|0;e=e+d+(r>>>0<w>>>0?1:0)|0;Q=(i>>>1|n<<31)^(i>>>8|n<<24)^(i>>>7|n<<25)|0;r=r+Q|0;e=e+((n>>>1|i<<31)^(n>>>8|i<<24)^n>>>7)+(r>>>0<Q>>>0?1:0)|0;Q=(L>>>19|H<<13)^(L<<3|H>>>29)^(L>>>6|H<<26)|0;r=r+Q|0;e=e+((H>>>19|L<<13)^(H<<3|L>>>29)^H>>>6)+(r>>>0<Q>>>0?1:0)|0;J=0x21c0c207+r|0;W=0xd186b8c7+e+(J>>>0<r>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;i=i+m|0;n=n+A+(i>>>0<m>>>0?1:0)|0;Q=(a>>>1|s<<31)^(a>>>8|s<<24)^(a>>>7|s<<25)|0;i=i+Q|0;n=n+((s>>>1|a<<31)^(s>>>8|a<<24)^s>>>7)+(i>>>0<Q>>>0?1:0)|0;Q=(t>>>19|f<<13)^(t<<3|f>>>29)^(t>>>6|f<<26)|0;i=i+Q|0;n=n+((f>>>19|t<<13)^(f<<3|t>>>29)^f>>>6)+(i>>>0<Q>>>0?1:0)|0;J=0xcde0eb1e+i|0;W=0xeada7dd6+n+(J>>>0<i>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;a=a+C|0;s=s+E+(a>>>0<C>>>0?1:0)|0;Q=(c>>>1|o<<31)^(c>>>8|o<<24)^(c>>>7|o<<25)|0;a=a+Q|0;s=s+((o>>>1|c<<31)^(o>>>8|c<<24)^o>>>7)+(a>>>0<Q>>>0?1:0)|0;Q=(r>>>19|e<<13)^(r<<3|e>>>29)^(r>>>6|e<<26)|0;a=a+Q|0;s=s+((e>>>19|r<<13)^(e<<3|r>>>29)^e>>>6)+(a>>>0<Q>>>0?1:0)|0;J=0xee6ed178+a|0;W=0xf57d4f7f+s+(J>>>0<a>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;c=c+M|0;o=o+S+(c>>>0<M>>>0?1:0)|0;Q=(h>>>1|x<<31)^(h>>>8|x<<24)^(h>>>7|x<<25)|0;c=c+Q|0;o=o+((x>>>1|h<<31)^(x>>>8|h<<24)^x>>>7)+(c>>>0<Q>>>0?1:0)|0;Q=(i>>>19|n<<13)^(i<<3|n>>>29)^(i>>>6|n<<26)|0;c=c+Q|0;o=o+((n>>>19|i<<13)^(n<<3|i>>>29)^n>>>6)+(c>>>0<Q>>>0?1:0)|0;J=0x72176fba+c|0;W=0x6f067aa+o+(J>>>0<c>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;h=h+O|0;x=x+U+(h>>>0<O>>>0?1:0)|0;Q=(p>>>1|u<<31)^(p>>>8|u<<24)^(p>>>7|u<<25)|0;h=h+Q|0;x=x+((u>>>1|p<<31)^(u>>>8|p<<24)^u>>>7)+(h>>>0<Q>>>0?1:0)|0;Q=(a>>>19|s<<13)^(a<<3|s>>>29)^(a>>>6|s<<26)|0;h=h+Q|0;x=x+((s>>>19|a<<13)^(s<<3|a>>>29)^s>>>6)+(h>>>0<Q>>>0?1:0)|0;J=0xa2c898a6+h|0;W=0xa637dc5+x+(J>>>0<h>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;p=p+L|0;u=u+H+(p>>>0<L>>>0?1:0)|0;Q=(y>>>1|l<<31)^(y>>>8|l<<24)^(y>>>7|l<<25)|0;p=p+Q|0;u=u+((l>>>1|y<<31)^(l>>>8|y<<24)^l>>>7)+(p>>>0<Q>>>0?1:0)|0;Q=(c>>>19|o<<13)^(c<<3|o>>>29)^(c>>>6|o<<26)|0;p=p+Q|0;u=u+((o>>>19|c<<13)^(o<<3|c>>>29)^o>>>6)+(p>>>0<Q>>>0?1:0)|0;J=0xbef90dae+p|0;W=0x113f9804+u+(J>>>0<p>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;y=y+t|0;l=l+f+(y>>>0<t>>>0?1:0)|0;Q=(_>>>1|b<<31)^(_>>>8|b<<24)^(_>>>7|b<<25)|0;y=y+Q|0;l=l+((b>>>1|_<<31)^(b>>>8|_<<24)^b>>>7)+(y>>>0<Q>>>0?1:0)|0;Q=(h>>>19|x<<13)^(h<<3|x>>>29)^(h>>>6|x<<26)|0;y=y+Q|0;l=l+((x>>>19|h<<13)^(x<<3|h>>>29)^x>>>6)+(y>>>0<Q>>>0?1:0)|0;J=0x131c471b+y|0;W=0x1b710b35+l+(J>>>0<y>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;_=_+r|0;b=b+e+(_>>>0<r>>>0?1:0)|0;Q=(v>>>1|g<<31)^(v>>>8|g<<24)^(v>>>7|g<<25)|0;_=_+Q|0;b=b+((g>>>1|v<<31)^(g>>>8|v<<24)^g>>>7)+(_>>>0<Q>>>0?1:0)|0;Q=(p>>>19|u<<13)^(p<<3|u>>>29)^(p>>>6|u<<26)|0;_=_+Q|0;b=b+((u>>>19|p<<13)^(u<<3|p>>>29)^u>>>6)+(_>>>0<Q>>>0?1:0)|0;J=0x23047d84+_|0;W=0x28db77f5+b+(J>>>0<_>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;v=v+i|0;g=g+n+(v>>>0<i>>>0?1:0)|0;Q=(w>>>1|d<<31)^(w>>>8|d<<24)^(w>>>7|d<<25)|0;v=v+Q|0;g=g+((d>>>1|w<<31)^(d>>>8|w<<24)^d>>>7)+(v>>>0<Q>>>0?1:0)|0;Q=(y>>>19|l<<13)^(y<<3|l>>>29)^(y>>>6|l<<26)|0;v=v+Q|0;g=g+((l>>>19|y<<13)^(l<<3|y>>>29)^l>>>6)+(v>>>0<Q>>>0?1:0)|0;J=0x40c72493+v|0;W=0x32caab7b+g+(J>>>0<v>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;w=w+a|0;d=d+s+(w>>>0<a>>>0?1:0)|0;Q=(m>>>1|A<<31)^(m>>>8|A<<24)^(m>>>7|A<<25)|0;w=w+Q|0;d=d+((A>>>1|m<<31)^(A>>>8|m<<24)^A>>>7)+(w>>>0<Q>>>0?1:0)|0;Q=(_>>>19|b<<13)^(_<<3|b>>>29)^(_>>>6|b<<26)|0;w=w+Q|0;d=d+((b>>>19|_<<13)^(b<<3|_>>>29)^b>>>6)+(w>>>0<Q>>>0?1:0)|0;J=0x15c9bebc+w|0;W=0x3c9ebe0a+d+(J>>>0<w>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;m=m+c|0;A=A+o+(m>>>0<c>>>0?1:0)|0;Q=(C>>>1|E<<31)^(C>>>8|E<<24)^(C>>>7|E<<25)|0;m=m+Q|0;A=A+((E>>>1|C<<31)^(E>>>8|C<<24)^E>>>7)+(m>>>0<Q>>>0?1:0)|0;Q=(v>>>19|g<<13)^(v<<3|g>>>29)^(v>>>6|g<<26)|0;m=m+Q|0;A=A+((g>>>19|v<<13)^(g<<3|v>>>29)^g>>>6)+(m>>>0<Q>>>0?1:0)|0;J=0x9c100d4c+m|0;W=0x431d67c4+A+(J>>>0<m>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;C=C+h|0;E=E+x+(C>>>0<h>>>0?1:0)|0;Q=(M>>>1|S<<31)^(M>>>8|S<<24)^(M>>>7|S<<25)|0;C=C+Q|0;E=E+((S>>>1|M<<31)^(S>>>8|M<<24)^S>>>7)+(C>>>0<Q>>>0?1:0)|0;Q=(w>>>19|d<<13)^(w<<3|d>>>29)^(w>>>6|d<<26)|0;C=C+Q|0;E=E+((d>>>19|w<<13)^(d<<3|w>>>29)^d>>>6)+(C>>>0<Q>>>0?1:0)|0;J=0xcb3e42b6+C|0;W=0x4cc5d4be+E+(J>>>0<C>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;M=M+p|0;S=S+u+(M>>>0<p>>>0?1:0)|0;Q=(O>>>1|U<<31)^(O>>>8|U<<24)^(O>>>7|U<<25)|0;M=M+Q|0;S=S+((U>>>1|O<<31)^(U>>>8|O<<24)^U>>>7)+(M>>>0<Q>>>0?1:0)|0;Q=(m>>>19|A<<13)^(m<<3|A>>>29)^(m>>>6|A<<26)|0;M=M+Q|0;S=S+((A>>>19|m<<13)^(A<<3|m>>>29)^A>>>6)+(M>>>0<Q>>>0?1:0)|0;J=0xfc657e2a+M|0;W=0x597f299c+S+(J>>>0<M>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;O=O+y|0;U=U+l+(O>>>0<y>>>0?1:0)|0;Q=(L>>>1|H<<31)^(L>>>8|H<<24)^(L>>>7|H<<25)|0;O=O+Q|0;U=U+((H>>>1|L<<31)^(H>>>8|L<<24)^H>>>7)+(O>>>0<Q>>>0?1:0)|0;Q=(C>>>19|E<<13)^(C<<3|E>>>29)^(C>>>6|E<<26)|0;O=O+Q|0;U=U+((E>>>19|C<<13)^(E<<3|C>>>29)^E>>>6)+(O>>>0<Q>>>0?1:0)|0;J=0x3ad6faec+O|0;W=0x5fcb6fab+U+(J>>>0<O>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;L=L+_|0;H=H+b+(L>>>0<_>>>0?1:0)|0;Q=(t>>>1|f<<31)^(t>>>8|f<<24)^(t>>>7|f<<25)|0;L=L+Q|0;H=H+((f>>>1|t<<31)^(f>>>8|t<<24)^f>>>7)+(L>>>0<Q>>>0?1:0)|0;Q=(M>>>19|S<<13)^(M<<3|S>>>29)^(M>>>6|S<<26)|0;L=L+Q|0;H=H+((S>>>19|M<<13)^(S<<3|M>>>29)^S>>>6)+(L>>>0<Q>>>0?1:0)|0;J=0x4a475817+L|0;W=0x6c44198c+H+(J>>>0<L>>>0?1:0)|0;J=J+K|0;W=W+V+(J>>>0<K>>>0?1:0)|0;Q=(G>>>14|z<<18)^(G>>>18|z<<14)^(G<<23|z>>>9)|0;J=J+Q|0;W=W+((z>>>14|G<<18)^(z>>>18|G<<14)^(z<<23|G>>>9))+(J>>>0<Q>>>0?1:0)|0;Q=F^G&(j^F)|0;J=J+Q|0;W=W+(q^z&(N^q))+(J>>>0<Q>>>0?1:0)|0;K=F;V=q;F=j;q=N;j=G;N=z;G=I+J|0;z=B+W+(G>>>0<I>>>0?1:0)|0;I=Z;B=T;Z=R;T=D;R=P;D=k;P=J+(R&Z^I&(R^Z))|0;k=W+(D&T^B&(D^T))+(P>>>0<J>>>0?1:0)|0;Q=(R>>>28|D<<4)^(R<<30|D>>>2)^(R<<25|D>>>7)|0;P=P+Q|0;k=k+((D>>>28|R<<4)^(D<<30|R>>>2)^(D<<25|R>>>7))+(P>>>0<Q>>>0?1:0)|0;Y=Y+P|0;X=X+k+(Y>>>0<P>>>0?1:0)|0;ff=ff+R|0;$=$+D+(ff>>>0<R>>>0?1:0)|0;ef=ef+Z|0;tf=tf+T+(ef>>>0<Z>>>0?1:0)|0;nf=nf+I|0;rf=rf+B+(nf>>>0<I>>>0?1:0)|0;af=af+G|0;sf=sf+z+(af>>>0<G>>>0?1:0)|0;cf=cf+j|0;of=of+N+(cf>>>0<j>>>0?1:0)|0;hf=hf+F|0;xf=xf+q+(hf>>>0<F>>>0?1:0)|0;pf=pf+K|0;uf=uf+V+(pf>>>0<K>>>0?1:0)|0}function i(f){f=f|0;Hf(Of[f|0]<<24|Of[f|1]<<16|Of[f|2]<<8|Of[f|3],Of[f|4]<<24|Of[f|5]<<16|Of[f|6]<<8|Of[f|7],Of[f|8]<<24|Of[f|9]<<16|Of[f|10]<<8|Of[f|11],Of[f|12]<<24|Of[f|13]<<16|Of[f|14]<<8|Of[f|15],Of[f|16]<<24|Of[f|17]<<16|Of[f|18]<<8|Of[f|19],Of[f|20]<<24|Of[f|21]<<16|Of[f|22]<<8|Of[f|23],Of[f|24]<<24|Of[f|25]<<16|Of[f|26]<<8|Of[f|27],Of[f|28]<<24|Of[f|29]<<16|Of[f|30]<<8|Of[f|31],Of[f|32]<<24|Of[f|33]<<16|Of[f|34]<<8|Of[f|35],Of[f|36]<<24|Of[f|37]<<16|Of[f|38]<<8|Of[f|39],Of[f|40]<<24|Of[f|41]<<16|Of[f|42]<<8|Of[f|43],Of[f|44]<<24|Of[f|45]<<16|Of[f|46]<<8|Of[f|47],Of[f|48]<<24|Of[f|49]<<16|Of[f|50]<<8|Of[f|51],Of[f|52]<<24|Of[f|53]<<16|Of[f|54]<<8|Of[f|55],Of[f|56]<<24|Of[f|57]<<16|Of[f|58]<<8|Of[f|59],Of[f|60]<<24|Of[f|61]<<16|Of[f|62]<<8|Of[f|63],Of[f|64]<<24|Of[f|65]<<16|Of[f|66]<<8|Of[f|67],Of[f|68]<<24|Of[f|69]<<16|Of[f|70]<<8|Of[f|71],Of[f|72]<<24|Of[f|73]<<16|Of[f|74]<<8|Of[f|75],Of[f|76]<<24|Of[f|77]<<16|Of[f|78]<<8|Of[f|79],Of[f|80]<<24|Of[f|81]<<16|Of[f|82]<<8|Of[f|83],Of[f|84]<<24|Of[f|85]<<16|Of[f|86]<<8|Of[f|87],Of[f|88]<<24|Of[f|89]<<16|Of[f|90]<<8|Of[f|91],Of[f|92]<<24|Of[f|93]<<16|Of[f|94]<<8|Of[f|95],Of[f|96]<<24|Of[f|97]<<16|Of[f|98]<<8|Of[f|99],Of[f|100]<<24|Of[f|101]<<16|Of[f|102]<<8|Of[f|103],Of[f|104]<<24|Of[f|105]<<16|Of[f|106]<<8|Of[f|107],Of[f|108]<<24|Of[f|109]<<16|Of[f|110]<<8|Of[f|111],Of[f|112]<<24|Of[f|113]<<16|Of[f|114]<<8|Of[f|115],Of[f|116]<<24|Of[f|117]<<16|Of[f|118]<<8|Of[f|119],Of[f|120]<<24|Of[f|121]<<16|Of[f|122]<<8|Of[f|123],Of[f|124]<<24|Of[f|125]<<16|Of[f|126]<<8|Of[f|127])}function Lf(f){f=f|0;Of[f|0]=X>>>24;Of[f|1]=X>>>16&255;Of[f|2]=X>>>8&255;Of[f|3]=X&255;Of[f|4]=Y>>>24;Of[f|5]=Y>>>16&255;Of[f|6]=Y>>>8&255;Of[f|7]=Y&255;Of[f|8]=$>>>24;Of[f|9]=$>>>16&255;Of[f|10]=$>>>8&255;Of[f|11]=$&255;Of[f|12]=ff>>>24;Of[f|13]=ff>>>16&255;Of[f|14]=ff>>>8&255;Of[f|15]=ff&255;Of[f|16]=tf>>>24;Of[f|17]=tf>>>16&255;Of[f|18]=tf>>>8&255;Of[f|19]=tf&255;Of[f|20]=ef>>>24;Of[f|21]=ef>>>16&255;Of[f|22]=ef>>>8&255;Of[f|23]=ef&255;Of[f|24]=rf>>>24;Of[f|25]=rf>>>16&255;Of[f|26]=rf>>>8&255;Of[f|27]=rf&255;Of[f|28]=nf>>>24;Of[f|29]=nf>>>16&255;Of[f|30]=nf>>>8&255;Of[f|31]=nf&255;Of[f|32]=sf>>>24;Of[f|33]=sf>>>16&255;Of[f|34]=sf>>>8&255;Of[f|35]=sf&255;Of[f|36]=af>>>24;Of[f|37]=af>>>16&255;Of[f|38]=af>>>8&255;Of[f|39]=af&255;Of[f|40]=of>>>24;Of[f|41]=of>>>16&255;Of[f|42]=of>>>8&255;Of[f|43]=of&255;Of[f|44]=cf>>>24;Of[f|45]=cf>>>16&255;Of[f|46]=cf>>>8&255;Of[f|47]=cf&255;Of[f|48]=xf>>>24;Of[f|49]=xf>>>16&255;Of[f|50]=xf>>>8&255;Of[f|51]=xf&255;Of[f|52]=hf>>>24;Of[f|53]=hf>>>16&255;Of[f|54]=hf>>>8&255;Of[f|55]=hf&255;Of[f|56]=uf>>>24;Of[f|57]=uf>>>16&255;Of[f|58]=uf>>>8&255;Of[f|59]=uf&255;Of[f|60]=pf>>>24;Of[f|61]=pf>>>16&255;Of[f|62]=pf>>>8&255;Of[f|63]=pf&255}function kf(){X=0x6a09e667;Y=0xf3bcc908;$=0xbb67ae85;ff=0x84caa73b;tf=0x3c6ef372;ef=0xfe94f82b;rf=0xa54ff53a;nf=0x5f1d36f1;sf=0x510e527f;af=0xade682d1;of=0x9b05688c;cf=0x2b3e6c1f;xf=0x1f83d9ab;hf=0xfb41bd6b;uf=0x5be0cd19;pf=0x137e2179;k=P=0}function r(f,t,e,r,n,i,s,a,o,c,x,h,u,p,l,y,b,_){f=f|0;t=t|0;e=e|0;r=r|0;n=n|0;i=i|0;s=s|0;a=a|0;o=o|0;c=c|0;x=x|0;h=h|0;u=u|0;p=p|0;l=l|0;y=y|0;b=b|0;_=_|0;X=f;Y=t;$=e;ff=r;tf=n;ef=i;rf=s;nf=a;sf=o;af=c;of=x;cf=h;xf=u;hf=p;uf=l;pf=y;k=b;P=_}function s(f,t){f=f|0;t=t|0;var e=0;if(f&127)return-1;while((t|0)>=128){i(f);f=f+128|0;t=t-128|0;e=e+128|0}k=k+e|0;if(k>>>0<e>>>0)P=P+1|0;return e|0}function d(f,t,e){f=f|0;t=t|0;e=e|0;var r=0,n=0;if(f&127)return-1;if(~e)if(e&63)return-1;if((t|0)>=128){r=s(f,t)|0;if((r|0)==-1)return-1;f=f+r|0;t=t-r|0}r=r+t|0;k=k+t|0;if(k>>>0<t>>>0)P=P+1|0;Of[f|t]=0x80;if((t|0)>=112){for(n=t+1|0;(n|0)<128;n=n+1|0)Of[f|n]=0x00;i(f);t=0;Of[f|0]=0}for(n=t+1|0;(n|0)<123;n=n+1|0)Of[f|n]=0;Of[f|120]=P>>>21&255;Of[f|121]=P>>>13&255;Of[f|122]=P>>>5&255;Of[f|123]=P<<3&255|k>>>29;Of[f|124]=k>>>21&255;Of[f|125]=k>>>13&255;Of[f|126]=k>>>5&255;Of[f|127]=k<<3&255;i(f);if(~e)Lf(e);return r|0}function Pf(){X=D;Y=R;$=T;ff=Z;tf=B;ef=I;rf=z;nf=G;sf=N;af=j;of=q;cf=F;xf=V;hf=K;uf=W;pf=J;k=128;P=0}function Df(){X=Q;Y=lf;$=yf;ff=bf;tf=_f;ef=gf;rf=vf;nf=df;sf=wf;af=Af;of=mf;cf=Ef;xf=Cf;hf=Sf;uf=Mf;pf=Uf;k=128;P=0}function n(f,t,e,r,n,i,s,a,o,c,x,h,u,p,l,y,b,_,g,v,d,w,A,m,E,C,S,M,U,O,H,L){f=f|0;t=t|0;e=e|0;r=r|0;n=n|0;i=i|0;s=s|0;a=a|0;o=o|0;c=c|0;x=x|0;h=h|0;u=u|0;p=p|0;l=l|0;y=y|0;b=b|0;_=_|0;g=g|0;v=v|0;d=d|0;w=w|0;A=A|0;m=m|0;E=E|0;C=C|0;S=S|0;M=M|0;U=U|0;O=O|0;H=H|0;L=L|0;kf();Hf(f^0x5c5c5c5c,t^0x5c5c5c5c,e^0x5c5c5c5c,r^0x5c5c5c5c,n^0x5c5c5c5c,i^0x5c5c5c5c,s^0x5c5c5c5c,a^0x5c5c5c5c,o^0x5c5c5c5c,c^0x5c5c5c5c,x^0x5c5c5c5c,h^0x5c5c5c5c,u^0x5c5c5c5c,p^0x5c5c5c5c,l^0x5c5c5c5c,y^0x5c5c5c5c,b^0x5c5c5c5c,_^0x5c5c5c5c,g^0x5c5c5c5c,v^0x5c5c5c5c,d^0x5c5c5c5c,w^0x5c5c5c5c,A^0x5c5c5c5c,m^0x5c5c5c5c,E^0x5c5c5c5c,C^0x5c5c5c5c,S^0x5c5c5c5c,M^0x5c5c5c5c,U^0x5c5c5c5c,O^0x5c5c5c5c,H^0x5c5c5c5c,L^0x5c5c5c5c);Q=X;lf=Y;yf=$;bf=ff;_f=tf;gf=ef;vf=rf;df=nf;wf=sf;Af=af;mf=of;Ef=cf;Cf=xf;Sf=hf;Mf=uf;Uf=pf;kf();Hf(f^0x36363636,t^0x36363636,e^0x36363636,r^0x36363636,n^0x36363636,i^0x36363636,s^0x36363636,a^0x36363636,o^0x36363636,c^0x36363636,x^0x36363636,h^0x36363636,u^0x36363636,p^0x36363636,l^0x36363636,y^0x36363636,b^0x36363636,_^0x36363636,g^0x36363636,v^0x36363636,d^0x36363636,w^0x36363636,A^0x36363636,m^0x36363636,E^0x36363636,C^0x36363636,S^0x36363636,M^0x36363636,U^0x36363636,O^0x36363636,H^0x36363636,L^0x36363636);D=X;R=Y;T=$;Z=ff;B=tf;I=ef;z=rf;G=nf;N=sf;j=af;q=of;F=cf;V=xf;K=hf;W=uf;J=pf;k=128;P=0}function Rf(f,t,e){f=f|0;t=t|0;e=e|0;var r=0,n=0,i=0,s=0,a=0,o=0,c=0,x=0,h=0,u=0,p=0,l=0,y=0,b=0,_=0,g=0,v=0;if(f&127)return-1;if(~e)if(e&63)return-1;v=d(f,t,-1)|0;r=X;n=Y;i=$;s=ff;a=tf;o=ef;c=rf;x=nf;h=sf;u=af;p=of;l=cf;y=xf;b=hf;_=uf;g=pf;Df();Hf(r,n,i,s,a,o,c,x,h,u,p,l,y,b,_,g,0x80000000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1536);if(~e)Lf(e);return v|0}function a(f,t,e,r,n){f=f|0;t=t|0;e=e|0;r=r|0;n=n|0;var i=0,s=0,a=0,o=0,c=0,x=0,h=0,u=0,p=0,l=0,y=0,b=0,_=0,g=0,v=0,d=0,w=0,A=0,m=0,E=0,C=0,S=0,M=0,U=0,O=0,H=0,L=0,k=0,P=0,D=0,R=0,T=0;if(f&127)return-1;if(~n)if(n&63)return-1;Of[f+t|0]=e>>>24;Of[f+t+1|0]=e>>>16&255;Of[f+t+2|0]=e>>>8&255;Of[f+t+3|0]=e&255;Rf(f,t+4|0,-1)|0;i=w=X;s=A=Y;a=m=$;o=E=ff;c=C=tf;x=S=ef;h=M=rf;u=U=nf;p=O=sf;l=H=af;y=L=of;b=k=cf;_=P=xf;g=D=hf;v=R=uf;d=T=pf;r=r-1|0;while((r|0)>0){Pf();Hf(w,A,m,E,C,S,M,U,O,H,L,k,P,D,R,T,0x80000000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1536);w=X;A=Y;m=$;E=ff;C=tf;S=ef;M=rf;U=nf;O=sf;H=af;L=of;k=cf;P=xf;D=hf;R=uf;T=pf;Df();Hf(w,A,m,E,C,S,M,U,O,H,L,k,P,D,R,T,0x80000000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1536);w=X;A=Y;m=$;E=ff;C=tf;S=ef;M=rf;U=nf;O=sf;H=af;L=of;k=cf;P=xf;D=hf;R=uf;T=pf;i=i^X;s=s^Y;a=a^$;o=o^ff;c=c^tf;x=x^ef;h=h^rf;u=u^nf;p=p^sf;l=l^af;y=y^of;b=b^cf;_=_^xf;g=g^hf;v=v^uf;d=d^pf;r=r-1|0}X=i;Y=s;$=a;ff=o;tf=c;ef=x;rf=h;nf=u;sf=p;af=l;of=y;cf=b;xf=_;hf=g;uf=v;pf=d;if(~n)Lf(n);return 0}return{reset:kf,init:r,process:s,finish:d,hmac_reset:Pf,hmac_init:n,hmac_finish:Rf,pbkdf2_generate_block:a}},hf=function(){var r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(f,t){f.__proto__=t}||function(f,t){for(var e in t)t.hasOwnProperty(e)&&(f[e]=t[e])};return function(f,t){function e(){this.constructor=f}r(f,t),f.prototype=null===t?Object.create(t):(e.prototype=t.prototype,new e)}}(),uf=128,pf=64,lf=function(t){function e(){var f=null!==t&&t.apply(this,arguments)||this;return f.NAME="sha512",f.BLOCK_SIZE=uf,f.HASH_SIZE=pf,f}return hf(e,t),e.bytes=function(f){return(new e).process(f).finish().result},e.NAME="sha512",e.heap_pool=[],e.asm_pool=[],e.asm_function=xf,e}($),yf=function(){function f(f,t,e){if(!f.HASH_SIZE)throw new SyntaxError("option 'hash' supplied doesn't seem to be a valid hash function");this.hash=f,this.BLOCK_SIZE=this.hash.BLOCK_SIZE,this.HMAC_SIZE=this.hash.HASH_SIZE,this.result=null,this.key=bf(this.hash,t);for(var r=new Uint8Array(this.key),n=0;n<r.length;++n)r[n]^=54;this.hash.reset().process(r),void 0!==e?this._hmac_init_verify(e):this.verify=null}return f.prototype.process=function(f){if(null!==this.result)throw new b("state must be reset before processing new data");return this.hash.process(f),this},f.prototype.finish=function(){if(null!==this.result)throw new b("state must be reset before processing new data");for(var f=this.hash.finish().result,t=new Uint8Array(this.key),e=0;e<t.length;++e)t[e]^=92;var r=this.verify,n=this.hash.reset().process(t).process(f).finish().result;if(r){if(r.length!==n.length)throw new Error("HMAC verification failed, lengths doesn't match");var i=0;for(e=0;e<r.length;e++)i|=r[e]^n[e];if(0!==i)throw new Error("HMAC verification failed, hash value doesn't match")}return this.result=n,this},f.prototype._hmac_init_verify=function(f){if(f.length!==this.HMAC_SIZE)throw new g("illegal verification tag size");this.verify=f},f}();function bf(f,t){var e=new Uint8Array(f.BLOCK_SIZE);return t.length>f.BLOCK_SIZE?e.set(f.reset().process(t).finish().result):e.set(t),e}var _f=function(){var r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(f,t){f.__proto__=t}||function(f,t){for(var e in t)t.hasOwnProperty(e)&&(f[e]=t[e])};return function(f,t){function e(){this.constructor=f}r(f,t),f.prototype=null===t?Object.create(t):(e.prototype=t.prototype,new e)}}(),gf=function(n){function f(f,t){var e=this,r=new rf;return e=n.call(this,r,f,t)||this,e.reset(),void 0!==t?e._hmac_init_verify(t):e.verify=null,e}return _f(f,n),f.prototype.reset=function(){this.result=null;var f=this.key;return this.hash.reset().asm.hmac_init(f[0]<<24|f[1]<<16|f[2]<<8|f[3],f[4]<<24|f[5]<<16|f[6]<<8|f[7],f[8]<<24|f[9]<<16|f[10]<<8|f[11],f[12]<<24|f[13]<<16|f[14]<<8|f[15],f[16]<<24|f[17]<<16|f[18]<<8|f[19],f[20]<<24|f[21]<<16|f[22]<<8|f[23],f[24]<<24|f[25]<<16|f[26]<<8|f[27],f[28]<<24|f[29]<<16|f[30]<<8|f[31],f[32]<<24|f[33]<<16|f[34]<<8|f[35],f[36]<<24|f[37]<<16|f[38]<<8|f[39],f[40]<<24|f[41]<<16|f[42]<<8|f[43],f[44]<<24|f[45]<<16|f[46]<<8|f[47],f[48]<<24|f[49]<<16|f[50]<<8|f[51],f[52]<<24|f[53]<<16|f[54]<<8|f[55],f[56]<<24|f[57]<<16|f[58]<<8|f[59],f[60]<<24|f[61]<<16|f[62]<<8|f[63]),this},f.prototype.finish=function(){if(null!==this.result)throw new b("state must be reset before processing new data");var f=this.hash,t=this.hash.asm,e=this.hash.heap;t.hmac_finish(f.pos,f.len,0);var r=this.verify,n=new Uint8Array(ef);if(n.set(e.subarray(0,ef)),r){if(r.length!==n.length)throw new Error("HMAC verification failed, lengths doesn't match");for(var i=0,s=0;s<r.length;s++)i|=r[s]^n[s];if(0!==i)throw new Error("HMAC verification failed, hash value doesn't match")}else this.result=n;return this},f}(yf),vf=function(){var r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(f,t){f.__proto__=t}||function(f,t){for(var e in t)t.hasOwnProperty(e)&&(f[e]=t[e])};return function(f,t){function e(){this.constructor=f}r(f,t),f.prototype=null===t?Object.create(t):(e.prototype=t.prototype,new e)}}(),df=function(n){function f(f,t){var e=this,r=new cf;return e=n.call(this,r,f,t)||this,e.reset(),void 0!==t?e._hmac_init_verify(t):e.verify=null,e}return vf(f,n),f.prototype.reset=function(){var f=this.key;return this.hash.reset().asm.hmac_init(f[0]<<24|f[1]<<16|f[2]<<8|f[3],f[4]<<24|f[5]<<16|f[6]<<8|f[7],f[8]<<24|f[9]<<16|f[10]<<8|f[11],f[12]<<24|f[13]<<16|f[14]<<8|f[15],f[16]<<24|f[17]<<16|f[18]<<8|f[19],f[20]<<24|f[21]<<16|f[22]<<8|f[23],f[24]<<24|f[25]<<16|f[26]<<8|f[27],f[28]<<24|f[29]<<16|f[30]<<8|f[31],f[32]<<24|f[33]<<16|f[34]<<8|f[35],f[36]<<24|f[37]<<16|f[38]<<8|f[39],f[40]<<24|f[41]<<16|f[42]<<8|f[43],f[44]<<24|f[45]<<16|f[46]<<8|f[47],f[48]<<24|f[49]<<16|f[50]<<8|f[51],f[52]<<24|f[53]<<16|f[54]<<8|f[55],f[56]<<24|f[57]<<16|f[58]<<8|f[59],f[60]<<24|f[61]<<16|f[62]<<8|f[63]),this},f.prototype.finish=function(){if(null===this.key)throw new b("no key is associated with the instance");if(null!==this.result)throw new b("state must be reset before processing new data");var f=this.hash,t=this.hash.asm,e=this.hash.heap;t.hmac_finish(f.pos,f.len,0);var r=this.verify,n=new Uint8Array(of);if(n.set(e.subarray(0,of)),r){if(r.length!==n.length)throw new Error("HMAC verification failed, lengths doesn't match");for(var i=0,s=0;s<r.length;s++)i|=r[s]^n[s];if(0!==i)throw new Error("HMAC verification failed, hash value doesn't match")}else this.result=n;return this},f}(yf),wf=function(){var r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(f,t){f.__proto__=t}||function(f,t){for(var e in t)t.hasOwnProperty(e)&&(f[e]=t[e])};return function(f,t){function e(){this.constructor=f}r(f,t),f.prototype=null===t?Object.create(t):(e.prototype=t.prototype,new e)}}(),Af=function(n){function f(f,t){var e=this,r=new lf;return e=n.call(this,r,f,t)||this,e.reset(),void 0!==t?e._hmac_init_verify(t):e.verify=null,e}return wf(f,n),f.prototype.reset=function(){var f=this.key;return this.hash.reset().asm.hmac_init(f[0]<<24|f[1]<<16|f[2]<<8|f[3],f[4]<<24|f[5]<<16|f[6]<<8|f[7],f[8]<<24|f[9]<<16|f[10]<<8|f[11],f[12]<<24|f[13]<<16|f[14]<<8|f[15],f[16]<<24|f[17]<<16|f[18]<<8|f[19],f[20]<<24|f[21]<<16|f[22]<<8|f[23],f[24]<<24|f[25]<<16|f[26]<<8|f[27],f[28]<<24|f[29]<<16|f[30]<<8|f[31],f[32]<<24|f[33]<<16|f[34]<<8|f[35],f[36]<<24|f[37]<<16|f[38]<<8|f[39],f[40]<<24|f[41]<<16|f[42]<<8|f[43],f[44]<<24|f[45]<<16|f[46]<<8|f[47],f[48]<<24|f[49]<<16|f[50]<<8|f[51],f[52]<<24|f[53]<<16|f[54]<<8|f[55],f[56]<<24|f[57]<<16|f[58]<<8|f[59],f[60]<<24|f[61]<<16|f[62]<<8|f[63],f[64]<<24|f[65]<<16|f[66]<<8|f[67],f[68]<<24|f[69]<<16|f[70]<<8|f[71],f[72]<<24|f[73]<<16|f[74]<<8|f[75],f[76]<<24|f[77]<<16|f[78]<<8|f[79],f[80]<<24|f[81]<<16|f[82]<<8|f[83],f[84]<<24|f[85]<<16|f[86]<<8|f[87],f[88]<<24|f[89]<<16|f[90]<<8|f[91],f[92]<<24|f[93]<<16|f[94]<<8|f[95],f[96]<<24|f[97]<<16|f[98]<<8|f[99],f[100]<<24|f[101]<<16|f[102]<<8|f[103],f[104]<<24|f[105]<<16|f[106]<<8|f[107],f[108]<<24|f[109]<<16|f[110]<<8|f[111],f[112]<<24|f[113]<<16|f[114]<<8|f[115],f[116]<<24|f[117]<<16|f[118]<<8|f[119],f[120]<<24|f[121]<<16|f[122]<<8|f[123],f[124]<<24|f[125]<<16|f[126]<<8|f[127]),this},f.prototype.finish=function(){if(null===this.key)throw new b("no key is associated with the instance");if(null!==this.result)throw new b("state must be reset before processing new data");var f=this.hash,t=this.hash.asm,e=this.hash.heap;t.hmac_finish(f.pos,f.len,0);var r=this.verify,n=new Uint8Array(pf);if(n.set(e.subarray(0,pf)),r){if(r.length!==n.length)throw new Error("HMAC verification failed, lengths doesn't match");for(var i=0,s=0;s<r.length;s++)i|=r[s]^n[s];if(0!==i)throw new Error("HMAC verification failed, hash value doesn't match")}else this.result=n;return this},f}(yf);function mf(f,t,e,r){for(var n=new gf(f),i=new Uint8Array(r),s=Math.ceil(r/n.HMAC_SIZE),a=1;a<=s;++a){var o=(a-1)*n.HMAC_SIZE,c=(a<s?0:r%n.HMAC_SIZE)||n.HMAC_SIZE;n.reset().process(t),n.hash.asm.pbkdf2_generate_block(n.hash.pos,n.hash.len,a,e,0),i.set(n.hash.heap.subarray(0,c),o)}return i}function Ef(f,t,e,r){for(var n=new df(f),i=new Uint8Array(r),s=Math.ceil(r/n.HMAC_SIZE),a=1;a<=s;++a){var o=(a-1)*n.HMAC_SIZE,c=(a<s?0:r%n.HMAC_SIZE)||n.HMAC_SIZE;n.reset().process(t),n.hash.asm.pbkdf2_generate_block(n.hash.pos,n.hash.len,a,e,0),i.set(n.hash.heap.subarray(0,c),o)}return i}function Cf(f,t,e,r){for(var n=new Af(f),i=new Uint8Array(r),s=Math.ceil(r/n.HMAC_SIZE),a=1;a<=s;++a){var o=(a-1)*n.HMAC_SIZE,c=(a<s?0:r%n.HMAC_SIZE)||n.HMAC_SIZE;n.reset().process(t),n.hash.asm.pbkdf2_generate_block(n.hash.pos,n.hash.len,a,e,0),i.set(n.hash.heap.subarray(0,c),o)}return i}var Sf=function(){function f(f){var t=f.length;if(2!==t&&3!==t&&8!==t)throw new SyntaxError("unexpected key type");var e=new X(new Q(f[0])),r=new Q(f[1]);this.key={0:e,1:r},2<t&&(this.key[2]=new Q(f[2])),3<t&&(this.key[3]=new X(new Q(f[3])),this.key[4]=new X(new Q(f[4])),this.key[5]=new Q(f[5]),this.key[6]=new Q(f[6]),this.key[7]=new Q(f[7]))}return f.prototype.encrypt=function(f){if(!this.key)throw new b("no key is associated with the instance");if(this.key[0].compare(f)<=0)throw new RangeError("data too large");var t=this.key[0],e=this.key[1],r=t.power(f,e).toBytes(),n=t.bitLength+7>>3;if(r.length<n){var i=new Uint8Array(n);i.set(r,n-r.length),r=i}return this.result=r,this},f.prototype.decrypt=function(f){if(this.key[0].compare(f)<=0)throw new RangeError("data too large");var t,e;if(void 0!==this.key[3]){e=this.key[0];for(var r=this.key[3],n=this.key[4],i=this.key[5],s=this.key[6],a=this.key[7],o=r.power(f,i),c=n.power(f,s),x=o.subtract(c);x.sign<0;)x=x.add(r);var h=r.reduce(a.multiply(x));t=h.multiply(n).add(c).clamp(e.bitLength).toBytes()}else{e=this.key[0];var u=this.key[2];t=e.power(f,u).toBytes()}var p=e.bitLength+7>>3;if(t.length<p){var l=new Uint8Array(p);l.set(t,p-t.length),t=l}return this.result=t,this},f}(),Mf=function(){function f(f,t,e){this.rsa=new Sf(f),this.hash=t,this.label=void 0!==e&&0<e.length?e:null}return f.prototype.encrypt=function(f,t){var e=Math.ceil(this.rsa.key[0].bitLength/8),r=this.hash.HASH_SIZE,n=f.byteLength||f.length||0,i=e-n-2*r-2;if(n>e-2*this.hash.HASH_SIZE-2)throw new g("data too large");var s=new Uint8Array(e),a=s.subarray(1,r+1),o=s.subarray(r+1);if(o.set(f,r+i+1),o.set(this.hash.process(this.label||new Uint8Array(0)).finish().result,0),o[r+i]=1,void 0!==t){if(a.length!==t.length)throw new g("random size must equal the hash size");a.set(t)}else j(a);for(var c=this.RSA_MGF1_generate(a,o.length),x=0;x<o.length;x++)o[x]^=c[x];var h=this.RSA_MGF1_generate(o,a.length);for(x=0;x<a.length;x++)a[x]^=h[x];return this.rsa.encrypt(new Q(s)),new Uint8Array(this.rsa.result)},f.prototype.decrypt=function(f){if(!this.rsa.key)throw new b("no key is associated with the instance");var t=Math.ceil(this.rsa.key[0].bitLength/8),e=this.hash.HASH_SIZE,r=f.byteLength||f.length||0;if(r!==t)throw new g("bad data");this.rsa.decrypt(new Q(f));var n=this.rsa.result[0],i=this.rsa.result.subarray(1,e+1),s=this.rsa.result.subarray(e+1);if(0!==n)throw new v("decryption failed");for(var a=this.RSA_MGF1_generate(s,i.length),o=0;o<i.length;o++)i[o]^=a[o];var c=this.RSA_MGF1_generate(i,s.length);for(o=0;o<s.length;o++)s[o]^=c[o];var x=this.hash.reset().process(this.label||new Uint8Array(0)).finish().result;for(o=0;o<e;o++)if(x[o]!==s[o])throw new v("decryption failed");for(var h=e;h<s.length;h++){var u=s[h];if(1===u)break;if(0!==u)throw new v("decryption failed")}if(h===s.length)throw new v("decryption failed");return this.rsa.result=s.subarray(h+1),new Uint8Array(this.rsa.result)},f.prototype.RSA_MGF1_generate=function(f,t){void 0===t&&(t=0);for(var e=this.hash.HASH_SIZE,r=new Uint8Array(t),n=new Uint8Array(4),i=Math.ceil(t/e),s=0;s<i;s++){n[0]=s>>>24,n[1]=s>>>16&255,n[2]=s>>>8&255,n[3]=255&s;var a=r.subarray(s*e),o=this.hash.reset().process(f).process(n).finish().result;o.length>a.length&&(o=o.subarray(0,a.length)),a.set(o)}return r},f}(),Uf=function(){function f(f,t,e){if(void 0===e&&(e=4),this.rsa=new Sf(f),this.hash=t,this.saltLength=e,this.saltLength<0)throw new TypeError("saltLength should be a non-negative number");if(null!==this.rsa.key&&Math.ceil((this.rsa.key[0].bitLength-1)/8)<this.hash.HASH_SIZE+this.saltLength+2)throw new SyntaxError("saltLength is too large")}return f.prototype.sign=function(f,t){var e=this.rsa.key[0].bitLength,r=this.hash.HASH_SIZE,n=Math.ceil((e-1)/8),i=this.saltLength,s=n-i-r-2,a=new Uint8Array(n),o=a.subarray(n-r-1,n-1),c=a.subarray(0,n-r-1),x=c.subarray(s+1),h=new Uint8Array(8+r+i),u=h.subarray(8,8+r),p=h.subarray(8+r);if(u.set(this.hash.process(f).finish().result),0<i)if(void 0!==t){if(p.length!==t.length)throw new g("random size must equal the salt size");p.set(t)}else j(p);c[s]=1,x.set(p),o.set(this.hash.reset().process(h).finish().result);for(var l=this.RSA_MGF1_generate(o,c.length),y=0;y<c.length;y++)c[y]^=l[y];a[n-1]=188;var b=8*n-e+1;return b%8&&(a[0]&=255>>>b),this.rsa.decrypt(new Q(a)),this.rsa.result},f.prototype.verify=function(f,t){var e=this.rsa.key[0].bitLength,r=this.hash.HASH_SIZE,n=Math.ceil((e-1)/8),i=this.saltLength,s=n-i-r-2;this.rsa.encrypt(new Q(f));var a=this.rsa.result;if(188!==a[n-1])throw new v("bad signature");var o=a.subarray(n-r-1,n-1),c=a.subarray(0,n-r-1),x=c.subarray(s+1),h=8*n-e+1;if(h%8&&a[0]>>>8-h)throw new v("bad signature");for(var u=this.RSA_MGF1_generate(o,c.length),p=0;p<c.length;p++)c[p]^=u[p];h%8&&(a[0]&=255>>>h);for(p=0;p<s;p++)if(0!==c[p])throw new v("bad signature");if(1!==c[s])throw new v("bad signature");var l=new Uint8Array(8+r+i),y=l.subarray(8,8+r),b=l.subarray(8+r);y.set(this.hash.reset().process(t).finish().result),b.set(x);var _=this.hash.reset().process(l).finish().result;for(p=0;p<r;p++)if(o[p]!==_[p])throw new v("bad signature")},f.prototype.RSA_MGF1_generate=function(f,t){void 0===t&&(t=0);for(var e=this.hash.HASH_SIZE,r=new Uint8Array(t),n=new Uint8Array(4),i=Math.ceil(t/e),s=0;s<i;s++){n[0]=s>>>24,n[1]=s>>>16&255,n[2]=s>>>8&255,n[3]=255&s;var a=r.subarray(s*e),o=this.hash.reset().process(f).process(n).finish().result;o.length>a.length&&(o=o.subarray(0,a.length)),a.set(o)}return r},f}(),Of=function(){function f(f,t){this.rsa=new Sf(f),this.hash=t}return f.prototype.sign=function(f){if(!this.rsa.key)throw new b("no key is associated with the instance");var t=Lf(this.hash),e=this.hash.HASH_SIZE,r=t.length+e,n=this.rsa.key[0].bitLength+7>>3;if(n<r+11)throw new Error("Message too long");var i=new Uint8Array(e);i.set(this.hash.process(f).finish().result);var s=new Uint8Array(n),a=0;for(s[a++]=0,s[a++]=1;a<n-r-1;a++)s[a]=255;return s[a++]=0,s.set(t,a),s.set(i,s.length-e),this.rsa.decrypt(new Q(s)),this.rsa.result},f.prototype.verify=function(f,t){var e=Lf(this.hash),r=this.hash.HASH_SIZE,n=e.length+r,i=this.rsa.key[0].bitLength+7>>3;if(i<n+11)throw new v("Bad signature");this.rsa.encrypt(new Q(f));var s=new Uint8Array(r);s.set(this.hash.process(t).finish().result);var a=1,o=this.rsa.result,c=0;for(a&=0===o[c++]?1:0,a&=1===o[c++]?1:0;c<i-n-1;c++)a&=255===o[c]?1:0;a&=0===o[c++]?1:0;for(var x=0,h=c+e.length;c<h;c++)a&=o[c]===e[x++]?1:0;for(x=0,h=c+s.length;c<h;c++)a&=o[c]===s[x++]?1:0;if(!a)throw new v("Bad signature")},f}(),Hf={sha1:new Uint8Array([48,33,48,9,6,5,43,14,3,2,26,5,0,4,20]),sha256:new Uint8Array([48,49,48,13,6,9,96,134,72,1,101,3,4,2,1,5,0,4,32]),sha384:new Uint8Array([48,65,48,13,6,9,96,134,72,1,101,3,4,2,2,5,0,4,48]),sha512:new Uint8Array([48,81,48,13,6,9,96,134,72,1,101,3,4,2,3,5,0,4,64])};function Lf(f){var t=Hf[f.NAME];if(!t)throw new Error("Cannot get hash prefix for hash algorithm '"+f.NAME+"'");return t}return f.string_to_bytes=r,f.hex_to_bytes=n,f.base64_to_bytes=i,f.bytes_to_string=s,f.bytes_to_hex=a,f.bytes_to_base64=o,f.IllegalStateError=b,f.IllegalArgumentError=g,f.SecurityError=v,f.AES_CBC=A,f.AES_CCM=S,f.AES_CFB=U,f.AES_CMAC=k,f.AES_CTR=D,f.AES_ECB=H,f.AES_GCM=Z,f.AES_OFB=I,f.BigNumber=Q,f.Modulus=X,f.Sha1=rf,f.Sha256=cf,f.Sha512=lf,f.HmacSha1=gf,f.HmacSha256=df,f.HmacSha512=Af,f.Pbkdf2HmacSha1=mf,f.Pbkdf2HmacSha256=Ef,f.Pbkdf2HmacSha512=Cf,f.RSA_OAEP=Mf,f.RSA_PKCS1_v1_5=Of,f.RSA_PSS=Uf,f.RSA=Sf,f}({});