emscripten/third_party/lzma.js/lzma-decoder.js

28 строки
66 KiB
JavaScript

// This is lzma.js, powered by lzip (which is GPL, source code at https://github.com/kripken/lzma.js)
var LZMA = {
run: function(data, decompress) {
var inputIndex = 0;
var returnValue = [];
var Module = {
arguments: ['-q'].concat(decompress ? ['-d'] : []),
stdin: function() { return inputIndex < data.length ? data[inputIndex++] : null },
stdout: function(x) { if (x !== null) returnValue.push(x) }
};
function a(b){throw b}var ca=void 0,j=!0,l=null,m=!1;try{this.Module=Module}catch(ka){this.Module=Module={}}var la="object"===typeof process,sa="object"===typeof window,Ca="function"===typeof importScripts,Ka=!sa&&!la&&!Ca;if(la){Module.print=(function(b){process.stdout.write(b+"\n")});Module.printErr=(function(b){process.stderr.write(b+"\n")});var bb=require("fs");Module.read=(function(b){var d=bb.readFileSync(b).toString();!d&&"/"!=b[0]&&(b=__dirname.split("/").slice(0,-1).join("/")+"/src/"+b,d=bb.readFileSync(b).toString());return d});Module.load=(function(b){cb(read(b))});Module.arguments=process.argv.slice(2)}else{Ka?(Module.print=print,Module.printErr=printErr,Module.read="undefined"!=typeof read?read:(function(b){snarf(b)}),"undefined"!=typeof scriptArgs?Module.arguments=scriptArgs:"undefined"!=typeof arguments&&(Module.arguments=arguments)):sa?(Module.print||(Module.print=(function(b){console.log(b)})),Module.printErr||(Module.printErr=(function(b){console.log(b)})),Module.read=(function(b){var d=new XMLHttpRequest;d.open("GET",b,m);d.send(l);return d.responseText}),"undefined"!=typeof arguments&&(Module.arguments=arguments)):Ca?Module.load=importScripts:a("Unknown runtime environment. Where are we?")}function cb(b){eval.call(l,b)}"undefined"==!Module.load&&Module.read&&(Module.load=(function(b){cb(Module.read(b))}));Module.printErr||(Module.printErr=(function(){}));Module.print||(Module.print=Module.printErr);Module.arguments||(Module.arguments=[]);function db(b){if(1==vb){return 1}var d={"%i1":1,"%i8":1,"%i16":2,"%i32":4,"%i64":8,"%float":4,"%double":8}["%"+b];d||("*"==b[b.length-1]?d=vb:"i"==b[0]&&(b=parseInt(b.substr(1)),wb(0==b%8),d=b/8));return d}function xb(b){var d=n;n+=b;n=n+3>>2<<2;return d}function Hb(b){var d=Ib;Ib+=b;Ib=Ib+3>>2<<2;if(Ib>=Qb){for(;Qb<=Ib;){Qb=2*Qb+4095>>12<<12}var b=p,c=new ArrayBuffer(Qb);p=new Int8Array(c);Rb=new Int16Array(c);r=new Int32Array(c);s=new Uint8Array(c);Sb=new Uint16Array(c);z=new Uint32Array(c);Tb=new Float32Array(c);Ub=new Float64Array(c);p.set(b)}return d}var vb=4,Vb={},Yb,B,Zb;function $b(b){Module.print(b+":\n"+Error().stack);a("Assertion: "+b)}function wb(b,d){b||$b("Assertion failed: "+d)}var bc=this;Module.ccall=(function(b,d,c,e){try{var f=eval("_"+b)}catch(i){try{f=bc.Module["_"+b]}catch(h){}}wb(f,"Cannot call unknown function "+b+" (perhaps LLVM optimizations or closure removed it?)");var g=0,b=e?e.map((function(b){if("string"==c[g++]){var d=n;xb(b.length+1);cc(b,d);b=d}return b})):[];return(function(b,c){return"string"==c?dc(b):b})(f.apply(l,b),d)});function ec(b,d,c){c=c||"i8";"*"===c[c.length-1]&&(c="i32");switch(c){case"i1":p[b]=d;break;case"i8":p[b]=d;break;case"i16":Rb[b>>1]=d;break;case"i32":r[b>>2]=d;break;case"i64":r[b>>2]=d;break;case"float":Tb[b>>2]=d;break;case"double":fc[0]=d;r[b>>2]=gc[0];r[b+4>>2]=gc[1];break;default:$b("invalid type for setValue: "+c)}}Module.setValue=ec;Module.getValue=(function(b,d){d=d||"i8";"*"===d[d.length-1]&&(d="i32");switch(d){case"i1":return p[b];case"i8":return p[b];case"i16":return Rb[b>>1];case"i32":return r[b>>2];case"i64":return r[b>>2];case"float":return Tb[b>>2];case"double":return gc[0]=r[b>>2],gc[1]=r[b+4>>2],fc[0];default:$b("invalid type for setValue: "+d)}return l});var hc=1,D=2;Module.ALLOC_NORMAL=0;Module.ALLOC_STACK=hc;Module.ALLOC_STATIC=D;function F(b,d,c){var e,f;"number"===typeof b?(e=j,f=b):(e=m,f=b.length);var i="string"===typeof d?d:l,c=[ic,xb,Hb][c===ca?D:c](Math.max(f,i?1:d.length));if(e){return jc(c,f),c}e=0;for(var h;e<f;){var g=b[e];"function"===typeof g&&(g=Vb.Ua(g));h=i||d[e];0===h?e++:("i64"==h&&(h="i32"),ec(c+e,g,h),e+=db(h))}return c}Module.allocate=F;function dc(b,d){for(var c="undefined"==typeof d,e="",f=0,i,h=String.fromCharCode(0);;){i=String.fromCharCode(s[b+f]);if(c&&i==h){break}e+=i;f+=1;if(!c&&f==d){break}}return e}Module.Pointer_stringify=dc;Module.Array_stringify=(function(b){for(var d="",c=0;c<b.length;c++){d+=String.fromCharCode(b[c])}return d});var lc,mc=4096,p,s,Rb,Sb,r,z,Tb,Ub,n,nc,Ib,oc=Module.TOTAL_STACK||5242880,Qb=Module.TOTAL_MEMORY||10485760;wb(!!Int32Array&&!!Float64Array&&!!(new Int32Array(1)).subarray&&!!(new Int32Array(1)).set,"Cannot fallback to non-typed array case: Code is too specialized");var pc=new ArrayBuffer(Qb);p=new Int8Array(pc);Rb=new Int16Array(pc);r=new Int32Array(pc);s=new Uint8Array(pc);Sb=new Uint16Array(pc);z=new Uint32Array(pc);Tb=new Float32Array(pc);Ub=new Float64Array(pc);r[0]=255;wb(255===s[0]&&0===s[3],"Typed arrays 2 must be run on a little-endian system");var rc=qc("(null)");Ib=rc.length;for(var sc=0;sc<rc.length;sc++){p[sc]=rc[sc]}Module.HEAP=ca;Module.HEAP8=p;Module.HEAP16=Rb;Module.HEAP32=r;Module.HEAPU8=s;Module.HEAPU16=Sb;Module.HEAPU32=z;Module.HEAPF32=Tb;Module.HEAPF64=Ub;nc=(n=4*Math.ceil(Ib/4))+oc;var tc=8*Math.ceil(nc/8);p.subarray(tc);var gc=r.subarray(tc>>2);Tb.subarray(tc>>2);var fc=Ub.subarray(tc>>3);nc=tc+8;Ib=nc+4095>>12<<12;function uc(b){for(;0<b.length;){var d=b.shift(),c=d.l;"number"===typeof c&&(c=lc[c]);c(d.Pa===ca?l:d.Pa)}}var vc=[],yc=[];function zc(b,d){return Array.prototype.slice.call(p.subarray(b,b+d))}Module.Array_copy=zc;Module.TypedArray_copy=(function(b,d){for(var c=new Uint8Array(d),e=0;e<d;++e){c[e]=p[b+e]}return c.buffer});function Ac(b){for(var d=0;p[b+d];){d++}return d}Module.String_len=Ac;function Bc(b,d){var c=Ac(b);d&&c++;var e=zc(b,c);d&&(e[c-1]=0);return e}Module.String_copy=Bc;function qc(b,d){for(var c=[],e=0;e<b.length;){var f=b.charCodeAt(e);255<f&&(f&=255);c.push(f);e+=1}d||c.push(0);return c}Module.intArrayFromString=qc;Module.intArrayToString=(function(b){for(var d=[],c=0;c<b.length;c++){var e=b[c];255<e&&(e&=255);d.push(String.fromCharCode(e))}return d.join("")});function cc(b,d,c){for(var e=0;e<b.length;){var f=b.charCodeAt(e);255<f&&(f&=255);p[d+e]=f;e+=1}c||(p[d+e]=0)}Module.writeStringToMemory=cc;var I=[];function Cc(b,d){return 0<=b?b:32>=d?2*Math.abs(1<<d-1)+b:Math.pow(2,d)+b}function Dc(b,d){if(0>=b){return b}var c=32>=d?Math.abs(1<<d-1):Math.pow(2,d-1);if(b>=c&&(32>=d||b>c)){b=-2*c+b}return b}function Ec(b,d,c){var e=0>(c|0)?-1:0,f=(c>>>0)+4294967296*(e|0)+(b>>>0)+4294967296*(d|0)>>>0,b=Math.min(Math.floor(((c>>>0)+4294967296*(e|0)+(b>>>0)+4294967296*(d|0))/4294967296),4294967295);return[f,b]}function Fc(b,d,c){var e=0>(c|0)?-1:0,f=(c>>>0)+4294967296*(e|0)+(b>>>0)+4294967296*(d|0)>>>0,b=Math.min(Math.floor(((c>>>0)+4294967296*(e|0)+(b>>>0)+4294967296*(d|0))/4294967296),4294967295);return[f,b]}function Gc(b){var d=p[b+11|0],c=p[b+10|0]|d<<8|0,e=p[b+9|0]|c<<8|0,f=p[b+8|0]|e<<8|0,i=p[b+7|0]|f<<8|0,h=p[b+6|0]|i<<8|0,g=p[b+5|0]|h<<8|0;return[p[b+4|0]|g<<8|0,0|((((((0|d>>>24)<<8|c>>>24)<<8|e>>>24)<<8|f>>>24)<<8|i>>>24)<<8|h>>>24)<<8|g>>>24]}Gc.X=1;function Hc(b){var d=p[b+19|0],c=p[b+18|0]|d<<8|0,e=p[b+17|0]|c<<8|0,f=p[b+16|0]|e<<8|0,i=p[b+15|0]|f<<8|0,h=p[b+14|0]|i<<8|0,g=p[b+13|0]|h<<8|0;return[p[b+12|0]|g<<8|0,0|((((((0|d>>>24)<<8|c>>>24)<<8|e>>>24)<<8|f>>>24)<<8|i>>>24)<<8|h>>>24)<<8|g>>>24]}Hc.X=1;function Ic(b){var d,c;c=(b+20|0)>>2;d=(b+24|0)>>2;var e=r[d],f=r[c]-e|0;if(0<(f|0)){var i=b+16|0,h=b+28|0,e=r[i>>2]+e|0,g=0<(f|0);a:do{if(g){for(var k=0,o=r[h>>2];;){if(o=r[Jc+((s[e+k|0]&255^o&255)<<2)>>2]^o>>>8,r[h>>2]=o,k=k+1|0,(k|0)==(f|0)){break a}}}}while(0);h=r[b+32>>2];if(e=-1<(h|0)){i=r[i>>2]+r[d]|0;r[Kc>>2]=0;e=f;a:for(;;){g=i+(f-e)|0;if(0>=(e|0)){var w=0;break}for(;;){r[Kc>>2]=0;var t=Lc(h,g,e);if(0<(t|0)){break}if(0!=(r[Kc>>2]|0)&&4!=(r[Kc>>2]|0)&&11!=(r[Kc>>2]|0)){w=e;break a}}e=e-t|0}e=(f-w|0)!=(f|0)}e&&Mc(-1);f=r[c];(f|0)<(r[b+12>>2]|0)?c=f:(w=0>(f|0)?-1:0,b=(b|0)>>2,i=r[b],h=r[b+1],t=(i>>>0)+4294967296*(h|0)+(f>>>0)+4294967296*(w|0)>>>0,f=Math.min(Math.floor(((i>>>0)+4294967296*(h|0)+(f>>>0)+4294967296*(w|0))/4294967296),4294967295),r[b]=t,r[b+1]=f,c=r[c]=0);r[d]=c}}function Nc(b){var d,c=n;n+=20;var e=b+36|0,f=0<(r[e>>2]|0)?20:12;d=(b+40|0)>>2;for(var i=r[d],h=i|0,i=Ec(r[h>>2],r[h+4>>2],r[i+12>>2]),h=i[0],g=i[1],k=0>(f|0)?-1:0,i=(h>>>0)+4294967296*(g|0)+(f>>>0)+4294967296*(k|0)>>>0,h=Math.min(Math.floor(((h>>>0)+4294967296*(g|0)+(f>>>0)+4294967296*(k|0))/4294967296),4294967295),k=g=0;(g|0)<(f|0);){if(0!=(k&1)<<24>>24){break}if(Oc(r[d])){jc(c+g|0,f-g|0),g=f,k=1}else{var o=Pc(r[d]);p[c+g|0]=o}g=g+1|0}0==(r[e>>2]|0)&&(p[c+12|0]=i&255,p[c+13|0]=(i>>>8|h<<24)&255,p[c+14|0]=(i>>>16|h<<16)&255,p[c+15|0]=(i>>>24|h<<8)&255,p[c+16|0]=h&255,p[c+17|0]=(h>>>8|0)&255,p[c+18|0]=(h>>>16|0)&255,p[c+19|0]=(h>>>24|0)&255);0==(r[r[d]+20>>2]|0)?d=k:(Qc(I.G|0),d=1);e=(s[c|0]&255|(s[c+1|0]&255|(s[c+2|0]&255|(s[c+3|0]&255)<<8)<<8)<<8|0)==(r[b+28>>2]^-1|0);g=Gc(c);f=g[0];g=g[1];k=b|0;b=Fc(r[k>>2],r[k+4>>2],r[b+20>>2]);k=Hc(c);b=(k[0]==i&&k[1]==h)&(f==b[0]&&g==b[1])&e&0==(d&1)<<24>>24;n=c;return b}Nc.X=1;function Oc(b){if((r[b+12>>2]|0)<(r[b+16>>2]|0)){b=0}else{var d=b+32|0;if(0==(p[d]&1)<<24>>24){var c;c=r[b+28>>2];var e=r[b+8>>2];r[Kc>>2]=0;var f=16384;a:for(;;){var i=e+(16384-f)|0;if(0>=(f|0)){var h=0;break}for(;;){r[Kc>>2]=0;var g=Rc(c,i,f);if(0<(g|0)){break}if(0==(g|0)){h=f;break a}if(4!=(r[Kc>>2]|0)&&11!=(r[Kc>>2]|0)){h=f;break a}}f=f-g|0}c=16384-h|0;e=b+16|0;r[e>>2]=c;16384!=(c|0)&&0!=(r[Kc>>2]|0)&&Mc(-1);c=z[e>>2];p[d]=16384>(c|0)&1;d=b+12|0;e=r[d>>2];f=0>(e|0)?-1:0;b=(b|0)>>2;h=r[b];g=r[b+1];i=(h>>>0)+4294967296*(g|0)+(e>>>0)+4294967296*(f|0)>>>0;e=Math.min(Math.floor(((h>>>0)+4294967296*(g|0)+(e>>>0)+4294967296*(f|0))/4294967296),4294967295);r[b]=i;r[b+1]=e;d=r[d>>2]=0;b=c}else{d=r[b+12>>2],b=r[b+16>>2]}b=(d|0)<(b|0)^1}return b}function Pc(b){if(Oc(b)){b=85}else{var d=b+12|0,c=r[d>>2];r[d>>2]=c+1|0;b=p[r[b+8>>2]+c|0]}return b}function Sc(b){var d,c=n;n+=29280;for(var e,f=c+192,i=c+240,h=c+288,g=c+336,k=c+384,o=c+576,w=c+1600,t=c+2060,A=c+2124,y=c+3412,C=c+4700,v=c+29276,u=c+192|0,x=c|0;;){J(x);var q=x+4|0;if((q|0)==(u|0)){break}x=q}J(f|0);J(f+4|0);J(f+8|0);J(f+12|0);J(f+16|0);J(f+20|0);J(f+24|0);J(f+28|0);J(f+32|0);J(f+36|0);J(f+40|0);J(f+44|0);J(i|0);J(i+4|0);J(i+8|0);J(i+12|0);J(i+16|0);J(i+20|0);J(i+24|0);J(i+28|0);J(i+32|0);J(i+36|0);J(i+40|0);J(i+44|0);J(h|0);J(h+4|0);J(h+8|0);J(h+12|0);J(h+16|0);J(h+20|0);J(h+24|0);J(h+28|0);J(h+32|0);J(h+36|0);J(h+40|0);J(h+44|0);J(g|0);J(g+4|0);J(g+8|0);J(g+12|0);J(g+16|0);J(g+20|0);J(g+24|0);J(g+28|0);J(g+32|0);J(g+36|0);J(g+40|0);J(g+44|0);for(var E=k+192|0,G=k|0;;){J(G);var M=G+4|0;if((M|0)==(E|0)){break}G=M}for(var W=o+1024|0,H=o|0;;){J(H);var Q=H+4|0;if((Q|0)==(W|0)){break}H=Q}for(var K=w+460|0,V=w|0;;){J(V);var Da=V+4|0;if((Da|0)==(K|0)){break}V=Da}var qa=t|0;J(qa);J(t+4|0);J(t+8|0);J(t+12|0);J(t+16|0);J(t+20|0);J(t+24|0);J(t+28|0);J(t+32|0);J(t+36|0);J(t+40|0);J(t+44|0);J(t+48|0);J(t+52|0);J(t+56|0);J(t+60|0);Tc(A);Tc(y);for(var yb=C+24576|0,eb=C|0;;){J(eb);var La=eb+4|0;if((La|0)==(yb|0)){break}eb=La}p[v|0]=0;d=(b+40|0)>>2;Uc(r[d]);var Ea=b+8|0,Ma=b+20|0,fb=b|0,zb=v|0,$=0,ma=0,fa=0,S=0;a:for(;;){b:for(;;){if(Oc(r[d])){Ic(b);var na=2;break a}var oa=fb|0,gb=fb+4|0,Na=Fc(r[oa>>2],r[gb>>2],r[Ma>>2])[0]&3,Ab=s[zb],ra=Ab&255;if(0==(Vc(r[d],(ra<<4)+(Na<<2)+c|0)|0)){var Oa,Jb=r[b+20>>2];Oa=p[r[b+16>>2]+((0<(Jb|0)?Jb:r[b+12>>2])-1)|0];var U=r[d];if(7>(Ab&255)){var aa=Wc(U,C+3072*((Oa&255)>>5)|0,8)&255;Xc(b,aa)}else{for(var ta=r[b+20>>2]-$-1|0,Fa=U,Pa=C+3072*((Oa&255)>>5)|0,hb=p[r[b+16>>2]+(0>(ta|0)?r[b+12>>2]+ta|0:ta)|0]&255,ib=ca,Y=7,jb=1;;){if(-1>=(Y|0)){var Qa=jb,ib=7;break}var Ra=hb>>>(Y>>>0)&1,Sa=Vc(Fa,((Ra<<8)+jb+256<<2)+Pa|0),kb=Sa|jb<<1;if((Ra|0)!=(Sa|0)){ib=4;break}Y=Y-1|0;jb=kb}c:do{if(4==ib){if(0<(Y|0)){for(var ua=kb,va=Y;;){var Ta=va-1|0,Bb=ua<<1,lb=Vc(Fa,(ua<<2)+Pa|0)|Bb;if(0>=(Ta|0)){Qa=lb;break c}ua=lb;va=Ta}}else{Qa=kb}}}while(0);Xc(b,Qa&255)}var ga=v|0;p[ga]=p[I.D+(s[ga]&255)|0]}else{var Ga=Vc(r[d],(ra<<2)+f|0),Wb=z[d];if(1==(Ga|0)){var Kb=1==(Vc(Wb,(ra<<2)+i|0)|0),Cb=r[d];do{if(!Kb){if(0!=(Vc(Cb,(ra<<4)+(Na<<2)+k|0)|0)){var mb=$,nb=ma,N=fa,da=S;break}var ba=v|0;p[ba]=p[I.B+(s[ba]&255)|0];var Ha=$,Ua=ma,Va=fa,Wa=S,wa=1;e=37;break b}if(0==(Vc(Cb,(ra<<2)+h|0)|0)){mb=ma,nb=$,N=fa,da=S}else{var Lb=0==(Vc(r[d],(ra<<2)+g|0)|0),Mb=Lb?S:fa,mb=Lb?fa:S,nb=$,N=ma,da=Mb}}while(0);var Nb=v|0;p[Nb]=p[I.C+(s[Nb]&255)|0];var Xb=Yc(y,r[d],Na),Ha=mb,Ua=nb,Va=N,Wa=da,wa=Xb+2|0;e=37;break}var Xa=Yc(A,Wb,Na),ha=Xa+2|0,Z=ha-2|0,xa=Wc(r[d],((3<(Z|0)?3:Z)<<8)+o|0,6);if(4>(xa|0)){var ya=xa;e=33;break}var Db=xa>>1,ob=Db-1|0,Ya=(xa&1|2)<<ob,Eb=r[d];if(14>(xa|0)){ya=Zc(Eb,(Ya-xa<<2)+w|0,ob)+Ya|0;e=33;break}var pb=Eb,qb=Db-5|0,ia=ca,za=ca,Aa=0<(qb|0);c:do{if(Aa){for(var za=(pb+24|0)>>2,ia=(pb+20|0)>>2,ja=0,rb=qb,ea=r[za];;){var Za=ja<<1;if(16777216>ea>>>0){r[za]=ea<<7;var Ob=r[ia]<<8,sb=Pc(pb)&255|Ob;r[ia]=sb;var Ia=z[za];if(sb>>>0<Ia>>>0){var Ja=Za,tb=Ia}else{r[ia]=sb-Ia|0,Ja=Za|1,tb=Ia}}else{var $a=ea>>>1;r[za]=$a;var Fb=z[ia];Fb>>>0<$a>>>0?Ja=Za:(r[ia]=Fb-$a|0,Ja=Za|1);tb=$a}var pa=rb-1|0;if(0>=(pa|0)){var Gb=Ja;break c}ja=Ja;rb=pa;ea=tb}}else{Gb=0}}while(0);var ub=Gb<<4,Ba=Zc(r[d],qa,4),Pb=ub+Ya+Ba|0;if(-1!=(Pb|0)){ya=Pb;e=33;break}$c(r[d]);Ic(b);if(0==(Xa|0)){na=Nc(b)?0:3;break a}if(3!=(ha|0)){na=4;break a}Uc(r[d])}}do{if(33==e){var ab=v|0;p[ab]=p[I.F+(s[ab]&255)|0];if(ya>>>0<z[Ea>>2]>>>0){if(ya>>>0<z[Ma>>2]>>>0){Ha=ya;Ua=$;Va=ma;Wa=fa;wa=ha;break}oa=fb|0;gb=fb+4|0;if(!(0==r[oa>>2]&&0==r[gb>>2])){Ha=ya;Ua=$;Va=ma;Wa=fa;wa=ha;break}}Ic(b);na=1;break a}}while(0);ad(b,Ha,wa);$=Ha;ma=Ua;fa=Va;S=Wa}n=c;return na}Sc.X=1;function Uc(b){var d;d=(b+20|0)>>2;r[d]=0;r[b+24>>2]=-1;var c=Pc(b)&255;r[d]=c;c=Pc(b)&255|c<<8;r[d]=c;c=Pc(b)&255|c<<8;r[d]=c;c=Pc(b)&255|c<<8;r[d]=c;c<<=8;b=Pc(b);r[d]=b&255|c}function J(b){r[b>>2]=1024}function Vc(b,d){var c,e;$c(b);e=(b+24|0)>>2;var f=z[e];c=(d|0)>>2;var i=(f>>>11)*r[c]|0,h=b+20|0,g=z[h>>2];g>>>0<i>>>0?(r[e]=i,f=z[c],e=0,f=((2048-f|0)>>>5)+f|0):(r[e]=f-i|0,r[h>>2]=g-i|0,f=z[c],e=1,f=f-(f>>>5)|0);r[c]=f;return e}function Xc(b,d){var c;c=(b+20|0)>>2;p[r[b+16>>2]+r[c]|0]=d;var e=r[c]+1|0;r[c]=e;(e|0)<(r[b+12>>2]|0)||Ic(b)}function Yc(b,d,c){return 0==(Vc(d,b|0)|0)?Wc(d,(c<<5)+b+8|0,3):0==(Vc(d,b+4|0)|0)?Wc(d,(c<<5)+b+136|0,3)+8|0:Wc(d,b+264|0,8)+16|0}function Wc(b,d,c){var e=0<(c|0);a:do{if(e){for(var f=1,i=c;;){var h=f<<1,f=Vc(b,(f<<2)+d|0)|h,i=i-1|0;if(0>=(i|0)){var g=f;break a}}}else{g=1}}while(0);return g-(1<<c)|0}function Zc(b,d,c){var e=0<(c|0);a:do{if(e){for(var f=1,i=0,h=0;;){var g=Vc(b,(f<<2)+d|0),f=f<<1;0!=(g|0)&&(i|=1<<h,f|=1);h=h+1|0;if((h|0)==(c|0)){var k=i;break a}}}else{k=0}}while(0);return k}function $c(b){var d=b+24|0,c=z[d>>2];16777216>c>>>0&&(r[d>>2]=c<<8,d=b+20|0,c=r[d>>2]<<8,b=Pc(b)&255|c,r[d>>2]=b)}function ad(b,d,c){var e,f;e=(b+20|0)>>2;var i=r[e],h=i-d-1|0,d=(b+12|0)>>2;f=r[d];h=h+(0>(h|0)?f:0)|0;if((f-((i|0)>(h|0)?i:h)|0)>(c|0)){if(f=i-h|0,((-1<(f|0)?f:-f|0)|0)<(c|0)){f=3}else{f=r[b+16>>2];var g=f+i|0,k=f+h|0;f=c;if(20<=f&&k%2==g%2){if(k%4==g%4){for(f=k+f;k%4;){p[g++]=p[k++]}for(var k=k>>2,g=g>>2,o=f>>2;k<o;){r[g++]=r[k++]}k<<=2;for(g<<=2;k<f;){p[g++]=p[k++]}}else{f=k+f;k%2&&(p[g++]=p[k++]);k>>=1;g>>=1;for(o=f>>1;k<o;){Rb[g++]=Rb[k++]}k<<=1;g<<=1;k<f&&(p[g++]=p[k++])}}else{for(;f--;){p[g++]=p[k++]}}r[e]=r[e]+c|0;f=10}}else{f=3}a:do{if(3==f&&0<(c|0)){for(var g=b+16|0,k=c,o=h,w=i;;){var t=r[g>>2];p[t+w|0]=p[t+o|0];w=r[e]+1|0;r[e]=w;t=r[d];(w|0)<(t|0)?w=t:(Ic(b),w=r[d]);o=o+1|0;k=k-1|0;if(0>=(k|0)){break a}o=(o|0)<(w|0)?o:0;w=r[e]}}}while(0)}ad.X=1;function Tc(b){J(b|0);J(b+4|0);J(b+8|0);J(b+12|0);J(b+16|0);J(b+20|0);J(b+24|0);J(b+28|0);J(b+32|0);J(b+36|0);J(b+40|0);J(b+44|0);J(b+48|0);J(b+52|0);J(b+56|0);J(b+60|0);J(b+64|0);J(b+68|0);J(b+72|0);J(b+76|0);J(b+80|0);J(b+84|0);J(b+88|0);J(b+92|0);J(b+96|0);J(b+100|0);J(b+104|0);J(b+108|0);J(b+112|0);J(b+116|0);J(b+120|0);J(b+124|0);J(b+128|0);J(b+132|0);J(b+136|0);J(b+140|0);J(b+144|0);J(b+148|0);J(b+152|0);J(b+156|0);J(b+160|0);J(b+164|0);J(b+168|0);J(b+172|0);J(b+176|0);J(b+180|0);J(b+184|0);J(b+188|0);J(b+192|0);J(b+196|0);J(b+200|0);J(b+204|0);J(b+208|0);J(b+212|0);J(b+216|0);J(b+220|0);J(b+224|0);J(b+228|0);J(b+232|0);J(b+236|0);J(b+240|0);J(b+244|0);J(b+248|0);J(b+252|0);J(b+256|0);J(b+260|0);for(var d=b+1288|0,b=b+264|0;!(J(b),b=b+4|0,(b|0)==(d|0));){}}Tc.X=1;function Qc(b){0!=(b|0)&&Lc(r[r[bd>>2]+12>>2],b,Ac(b))}function cd(b,d,c){if(-1<(r[dd>>2]|0)){if(0!=(b|0)&&0!=p[b]<<24>>24){ed(r[r[bd>>2]+12>>2],I.H|0,(B=n,n+=8,r[B>>2]=I.i|0,r[B+4>>2]=b,B));if(0<(d|0)){var b=r[r[bd>>2]+12>>2],e;fd||(fd=ic(256));e=fd;if(d in gd){if(255<gd[d].length){L(hd)}else{for(var d=gd[d],f=0;f<d.length;f++){p[e+f]=d.charCodeAt(f)}p[e+f]=0}}else{L(id)}e=fd;ed(b,I.K|0,(B=n,n+=4,r[B>>2]=e,B))}jd(r[r[bd>>2]+12>>2])}b=r[kd>>2];0!=(b|0)&c&&0!=p[b]<<24>>24&&ed(r[r[bd>>2]+12>>2],I.aa|0,(B=n,n+=4,r[B>>2]=b,B))}}function ld(b,d){r[kd>>2]=r[d>>2];var c=1,e=0;a:for(;;){if((c|0)>=(b|0)){(c=2==(e|0))&&(p[md]=0);p[md]=1;var f=ca;if(0==(e|0)&s[md]){if(0==(nd(2)|0)){f=4}else{cd(I.Y|0,0,1);var i=0,f=7}}else{f=4}4==f&&(2>(e-1|0)>>>0?0==(nd(1)|0)?i=1:(cd(I.Z|0,0,1),i=0):i=1);if(!i){f=1;break}i=od(c);i=0<(i|0)?i:0;if(!s[md]){f=i;break}O[2]?(O[2].Ra&&pd(O[2].Ra),delete O[2],e=0):(L(qd),e=-1);if(0==(e|0)){f=i;break}cd(I.ka|0,r[Kc>>2],0);if(1<=(i|0)){f=i;break}f=1;break}var h=p[r[d+(c<<2)>>2]+1|0]<<24>>24;do{if(99==(h|0)||107==(h|0)){var g=e}else{if(100==(h|0)){g=1}else{if(104==(h|0)){i=n;rd(I.fa|0,(B=n,n+=4,r[B>>2]=I.p|0,B));P(I.na|0);e=r[kd>>2];rd(I.ga|0,(B=n,n+=4,r[B>>2]=e,B));P(I.oa|0);P(I.za|0);P(I.Ia|0);P(I.Ja|0);P(I.Ka|0);P(I.La|0);P(I.Ma|0);P(I.Na|0);P(I.Oa|0);P(I.pa|0);P(I.qa|0);P(I.ra|0);P(I.sa|0);P(I.ta|0);P(I.ua|0);P(I.va|0);P(I.wa|0);P(I.xa|0);P(I.ya|0);rd(I.ja|0,(B=n,n+=4,r[B>>2]=I.i|0,B));P(I.Aa|0);P(I.Ba|0);P(I.Ca|0);P(I.Da|0);P(I.Ea|0);n=i;f=0;break a}else{if(113==(h|0)){r[dd>>2]=-1,g=e}else{if(118==(h|0)){g=r[dd>>2],4>(g|0)&&(r[dd>>2]=g+1|0),g=e}else{if(86==(h|0)){i=n;rd(I.$|0,(B=n,n+=8,r[B>>2]=I.p|0,r[B+4>>2]=I.ba|0,B));rd(I.ca|0,(B=n,n+=4,r[B>>2]=I.da|0,B));P(I.Fa|0);P(I.Ga|0);P(I.Ha|0);n=i;f=0;break a}else{-1<(r[dd>>2]|0)&&ed(r[r[bd>>2]+12>>2],I.ha|0,(B=n,n+=8,r[B>>2]=I.i|0,r[B+4>>2]=I.ia|0,B)),Mc(3),g=e}}}}}}}while(0);c=c+1|0;e=g}return f}Module._main=ld;ld.X=1;function sd(b){var b=b&255,d=1<<(b&31);return 536866816>(d-4097|0)>>>0?d-d/16*(b>>>5)|0:d}function od(b){var d=n;n+=88;var c,e=d+36,f=d+44,i=d>>2,h=d|0;r[h>>2]=0;r[h+4>>2]=0;var h=d+8|0,g=td(16384);r[h>>2]=g;r[i+3]=0;r[i+4]=0;r[i+5]=0;r[i+6]=-1;r[i+7]=1;p[d+32|0]=0;for(var h=e+4|0,g=e+5|0,k=d|0,o=d+12|0,i=f+16|0,w=0,t=0,A=1;;){c=-r[d+12>>2]|0;var y=0>(c|0)?-1:0,C=d|0;r[C>>2]=c;r[C+4>>2]=y;for(c=0;6>(c|0);){if(Oc(d)){break}y=Pc(d);p[e+c|0]=y;c=c+1|0}if(Oc(d)){if(!A){c=41;break}Qc(I.la|0);var v=1;c=45;break}a:{c=I.z|0;for(y=0;4>y;y++){var C=p[(e|0)+y],u=p[c+y];if(C!=u){c=C>u?1:-1;break a}}c=0}if(0!=(c|0)){if(!A){c=41;break}Qc(I.ma|0);v=2;c=45;break}y=s[h];if(2<=(y&255)){if(-1>=(r[dd>>2]|0)){v=2;c=45;break}Qc(0);v=y&255;ed(r[r[bd>>2]+12>>2],I.I|0,(B=n,n+=4,r[B>>2]=v,B));v=2;c=45;break}u=sd(p[g]);if(536866816<(u-4096|0)>>>0){Qc(I.J|0);v=2;c=45;break}c=r[dd>>2];c=1<(c|0)?25:1!=(c|0)|A^1?27:25;if(25==c&&(Qc(0),1<(r[dd>>2]|0))){for(var A=r[r[bd>>2]+12>>2],C=0>(u|0)?-1:0,x=ud|0,q=0;8>(q|0);){var E=-1<(C|0)||-1==(C|0)&&4294967295<u>>>0,G=0-((u>>>0)+4294967296*(C|0))>>>0,M=Math.min(Math.floor((0-((u>>>0)+4294967296*(C|0)))/4294967296),4294967295),G=E?u:G,E=E?C:M;if(!(0<(E|0)||0==(E|0)&&9999<G>>>0)){if(!((0<(E|0)||0==(E|0)&&1023<G>>>0)&(0==(u&1023)&&0==(C&0)))){break}}x=(Zb=((u>>>0)+4294967296*(C|0))/1024,0<=Zb?Math.floor(Zb):Math.ceil(Zb))>>>0;C=Math.min(Math.floor((Zb=((u>>>0)+4294967296*(C|0))/1024,0<=Zb?Math.floor(Zb):Math.ceil(Zb))/4294967296),4294967295);u=x;x=r[vd+(q<<2)>>2];q=q+1|0}q=wd|0;C=(B=n,n+=12,r[B>>2]=u,r[B+4>>2]=C,r[B+8>>2]=x,B);C=xd(I.W|0,C);u=Math.min(C.length,15);for(x=0;x<u;x++){p[q+x]=C[x]}p[q+x]=0;y&=255;ed(A,I.L|0,(B=n,n+=8,r[B>>2]=y,r[B+4>>2]=wd|0,B))}A=f;y=e;C=d;u=s[md]?2:-1;x=A>>2;q=A|0;r[q>>2]=0;r[q+4>>2]=0;E=sd(p[y+5|0]);r[(A+8|0)>>2]=E;q=A+12|0;M=65536>(E|0)?65536:E;r[q>>2]=M;E=A+16|0;M=td(-1<(M|0)?M:-1);r[E>>2]=M;r[x+5]=0;r[x+6]=0;r[x+7]=-1;r[x+8]=u;r[(A+36|0)>>2]=p[y+4|0]&255;r[x+10]=C;p[M+(r[q>>2]-1)|0]=0;y=Sc(f);A=Ec(r[k>>2],r[k+4>>2],r[o>>2]);C=A[0];u=A[1];A=(C>>>0)+4294967296*(u|0)+(t>>>0)+4294967296*(w|0)>>>0;w=Math.min(Math.floor(((C>>>0)+4294967296*(u|0)+(t>>>0)+4294967296*(w|0))/4294967296),4294967295);t=z[dd>>2];if(0!=(y|0)){-1<(t|0)&3>(y|0)&&(Qc(0),v=r[r[bd>>2]+12>>2],2==(y|0)?ed(v,I.M|0,(B=n,n+=8,r[B>>2]=A,r[B+4>>2]=w,B)):ed(v,I.N|0,(B=n,n+=8,r[B>>2]=A,r[B+4>>2]=w,B)));v=r[i>>2];0!=(v|0)&&yd(v);v=2;c=45;break}1<(t|0)&&(t=r[r[bd>>2]+12>>2],b?zd(I.n|0,3,1,t):zd(I.o|0,5,1,t));t=r[i>>2];0!=(t|0)&&yd(t);t=A;A=0}41==c&&(1==(r[dd>>2]|0)&&(v=r[r[bd>>2]+12>>2],b?zd(I.n|0,3,1,v):zd(I.o|0,5,1,v)),v=0);b=r[d+8>>2];0!=(b|0)&&yd(b);n=d;return v}od.X=1;function ic(b){var d,c=245>b>>>0;do{if(c){var e=11>b>>>0?16:b+11&-8,f=e>>>3;d=z[R>>2];var i=d>>>(f>>>0);if(0!=(i&3|0)){var b=(i&1^1)+f|0,e=b<<1,c=(e<<2)+R+40|0,f=(e+2<<2)+R+40|0,h=z[f>>2],e=h+8|0,i=z[e>>2];(c|0)==(i|0)?r[R>>2]=d&(1<<b^-1):(i>>>0<z[R+16>>2]>>>0&&(T(),a("Reached an unreachable!")),r[f>>2]=i,r[i+12>>2]=c);d=b<<3;r[h+4>>2]=d|3;d=h+(d|4)|0;r[d>>2]|=1;h=e;d=38;break}if(e>>>0<=z[R+8>>2]>>>0){var g=e;d=30;break}if(0!=(i|0)){var b=2<<f,b=i<<f&(b|-b),c=(b&-b)-1|0,b=c>>>12&16,h=c>>>(b>>>0),c=h>>>5&8,f=h>>>(c>>>0),h=f>>>2&4,i=f>>>(h>>>0),f=i>>>1&2,i=i>>>(f>>>0),k=i>>>1&1,h=(c|b|h|f|k)+(i>>>(k>>>0))|0,b=h<<1,f=(b<<2)+R+40|0,i=(b+2<<2)+R+40|0,c=z[i>>2],b=c+8|0,k=z[b>>2];(f|0)==(k|0)?r[R>>2]=d&(1<<h^-1):(k>>>0<z[R+16>>2]>>>0&&(T(),a("Reached an unreachable!")),r[i>>2]=k,r[k+12>>2]=f);h<<=3;d=h-e|0;r[c+4>>2]=e|3;f=c;c=f+e|0;r[f+(e|4)>>2]=d|1;r[f+h>>2]=d;k=z[R+8>>2];0!=(k|0)&&(e=r[R+20>>2],f=k>>>2&1073741822,h=(f<<2)+R+40|0,i=z[R>>2],k=1<<(k>>>3),0==(i&k|0)?(r[R>>2]=i|k,i=h,f=(f+2<<2)+R+40|0):(f=(f+2<<2)+R+40|0,i=z[f>>2],i>>>0<z[R+16>>2]>>>0&&(T(),a("Reached an unreachable!"))),r[f>>2]=e,r[i+12>>2]=e,r[(e+8|0)>>2]=i,r[(e+12|0)>>2]=h);r[R+8>>2]=d;r[R+20>>2]=c;h=b;d=38;break}if(0==(r[R+4>>2]|0)){g=e;d=30;break}d=Ad(e);if(0==(d|0)){g=e;d=30;break}h=d}else{if(4294967231<b>>>0){g=-1;d=30;break}d=b+11&-8;if(0==(r[R+4>>2]|0)){g=d;d=30;break}e=Bd(d);if(0==(e|0)){g=d;d=30;break}h=e}d=38}while(0);30==d&&(e=z[R+8>>2],g>>>0>e>>>0?(d=z[R+12>>2],g>>>0<d>>>0?(d=d-g|0,r[R+12>>2]=d,e=z[R+24>>2],r[R+24>>2]=e+g|0,r[g+(e+4)>>2]=d|1,r[e+4>>2]=g|3,h=e+8|0):h=Cd(g)):(b=e-g|0,d=z[R+20>>2],15<b>>>0?(r[R+20>>2]=d+g|0,r[R+8>>2]=b,r[g+(d+4)>>2]=b|1,r[d+e>>2]=b,r[d+4>>2]=g|3):(r[R+8>>2]=0,r[R+20>>2]=0,r[d+4>>2]=e|3,g=e+(d+4)|0,r[g>>2]|=1),h=d+8|0));return h}Module._malloc=ic;ic.X=1;function Ad(b){var d,c,e=r[R+4>>2],f=(e&-e)-1|0,e=f>>>12&16,i=f>>>(e>>>0),f=i>>>5&8;c=i>>>(f>>>0);var i=c>>>2&4,h=c>>>(i>>>0);c=h>>>1&2;var h=h>>>(c>>>0),g=h>>>1&1,e=f=z[R+((f|e|i|c|g)+(h>>>(g>>>0))<<2)+304>>2];c=e>>2;f=(r[f+4>>2]&-8)-b|0;a:for(;;){for(i=e;;){h=r[i+16>>2];if(0==(h|0)){if(i=r[i+20>>2],0==(i|0)){break a}}else{i=h}h=(r[i+4>>2]&-8)-b|0;if(h>>>0<f>>>0){e=i;c=e>>2;f=h;continue a}}}var h=e,k=z[R+16>>2],g=h>>>0<k>>>0;do{if(!g){var o=h+b|0,i=o;if(h>>>0<o>>>0){var g=z[c+6],o=z[c+3],w=(o|0)==(e|0);do{if(w){d=e+20|0;var t=r[d>>2];if(0==(t|0)&&(d=e+16|0,t=r[d>>2],0==(t|0))){t=0;d=t>>2;break}for(;;){var A=t+20|0,y=r[A>>2];if(0==(y|0)&&(A=t+16|0,y=z[A>>2],0==(y|0))){break}d=A;t=y}d>>>0<k>>>0&&(T(),a("Reached an unreachable!"));r[d>>2]=0}else{d=z[c+2],d>>>0<k>>>0&&(T(),a("Reached an unreachable!")),r[d+12>>2]=o,r[o+8>>2]=d,t=o}d=t>>2}while(0);k=0==(g|0);a:do{if(!k){o=e+28|0;w=(r[o>>2]<<2)+R+304|0;A=(e|0)==(r[w>>2]|0);do{if(A){r[w>>2]=t;if(0!=(t|0)){break}r[R+4>>2]&=1<<r[o>>2]^-1;break a}g>>>0<z[R+16>>2]>>>0&&(T(),a("Reached an unreachable!"));y=g+16|0;(r[y>>2]|0)==(e|0)?r[y>>2]=t:r[g+20>>2]=t;if(0==(t|0)){break a}}while(0);t>>>0<z[R+16>>2]>>>0&&(T(),a("Reached an unreachable!"));r[d+6]=g;o=z[c+4];0!=(o|0)&&(o>>>0<z[R+16>>2]>>>0&&(T(),a("Reached an unreachable!")),r[d+4]=o,r[o+24>>2]=t);o=z[c+5];0!=(o|0)&&(o>>>0<z[R+16>>2]>>>0&&(T(),a("Reached an unreachable!")),r[d+5]=o,r[o+24>>2]=t)}}while(0);16>f>>>0?(b=f+b|0,r[c+1]=b|3,b=b+(h+4)|0,r[b>>2]|=1):(r[c+1]=b|3,r[b+(h+4)>>2]=f|1,r[h+f+b>>2]=f,k=z[R+8>>2],0!=(k|0)&&(b=z[R+20>>2],h=k>>>2&1073741822,c=(h<<2)+R+40|0,g=z[R>>2],k=1<<(k>>>3),0==(g&k|0)?(r[R>>2]=g|k,g=c,h=(h+2<<2)+R+40|0):(h=(h+2<<2)+R+40|0,g=z[h>>2],g>>>0<z[R+16>>2]>>>0&&(T(),a("Reached an unreachable!"))),r[h>>2]=b,r[g+12>>2]=b,r[b+8>>2]=g,r[b+12>>2]=c),r[R+8>>2]=f,r[R+20>>2]=i);return e+8|0}}}while(0);T();a("Reached an unreachable!")}Ad.X=1;function Bd(b){var d,c,e,f,i,h=b>>2,g=-b|0,k=b>>>8;if(0==(k|0)){var o=0}else{if(16777215<b>>>0){o=31}else{var w=(k+1048320|0)>>>16&8,t=k<<w,A=(t+520192|0)>>>16&4,y=t<<A,C=(y+245760|0)>>>16&2,v=14-(A|w|C)+(y<<C>>>15)|0,o=b>>>((v+7|0)>>>0)&1|v<<1}}var u=z[R+(o<<2)+304>>2],x=0==(u|0);a:do{if(x){var q=0,E=g,G=0}else{var M=31==(o|0)?0:25-(o>>>1)|0,W=0,H=g,Q=u;i=Q>>2;for(var K=b<<M,V=0;;){var Da=r[i+1]&-8,qa=Da-b|0;if(qa>>>0<H>>>0){if((Da|0)==(b|0)){q=Q;E=qa;G=Q;break a}var yb=Q,eb=qa}else{yb=W,eb=H}var La=z[i+5],Ea=z[((K>>>31<<2)+16>>2)+i],Ma=0==(La|0)|(La|0)==(Ea|0)?V:La;if(0==(Ea|0)){q=yb;E=eb;G=Ma;break a}W=yb;H=eb;Q=Ea;i=Q>>2;K<<=1;V=Ma}}}while(0);if(0==(G|0)&0==(q|0)){var fb=2<<o,zb=r[R+4>>2]&(fb|-fb);if(0==(zb|0)){var $=G}else{var ma=(zb&-zb)-1|0,fa=ma>>>12&16,S=ma>>>(fa>>>0),na=S>>>5&8,oa=S>>>(na>>>0),gb=oa>>>2&4,Na=oa>>>(gb>>>0),Ab=Na>>>1&2,ra=Na>>>(Ab>>>0),Oa=ra>>>1&1,$=r[R+((na|fa|gb|Ab|Oa)+(ra>>>(Oa>>>0))<<2)+304>>2]}}else{$=G}var Jb=0==($|0);a:do{if(Jb){var U=E,aa=q;f=aa>>2}else{var ta=$;e=ta>>2;for(var Fa=E,Pa=q;;){var hb=(r[e+1]&-8)-b|0,ib=hb>>>0<Fa>>>0,Y=ib?hb:Fa,jb=ib?ta:Pa,Qa=z[e+4];if(0!=(Qa|0)){ta=Qa}else{var Ra=z[e+5];if(0==(Ra|0)){U=Y;aa=jb;f=aa>>2;break a}ta=Ra}e=ta>>2;Fa=Y;Pa=jb}}}while(0);var Sa=0==(aa|0);a:do{if(Sa){var kb=0}else{if(U>>>0<(r[R+8>>2]-b|0)>>>0){var ua=aa;c=ua>>2;var va=z[R+16>>2],Ta=ua>>>0<va>>>0;do{if(!Ta){var Bb=ua+b|0,lb=Bb;if(ua>>>0<Bb>>>0){var ga=z[f+6],Ga=z[f+3],Wb=(Ga|0)==(aa|0);do{if(Wb){var Kb=aa+20|0,Cb=r[Kb>>2];if(0==(Cb|0)){var mb=aa+16|0,nb=r[mb>>2];if(0==(nb|0)){var N=0;d=N>>2;break}var da=mb,ba=nb}else{da=Kb,ba=Cb}for(;;){var Ha=ba+20|0,Ua=r[Ha>>2];if(0!=(Ua|0)){da=Ha,ba=Ua}else{var Va=ba+16|0,Wa=z[Va>>2];if(0==(Wa|0)){break}da=Va;ba=Wa}}da>>>0<va>>>0&&(T(),a("Reached an unreachable!"));r[da>>2]=0;N=ba}else{var wa=z[f+2];wa>>>0<va>>>0&&(T(),a("Reached an unreachable!"));r[wa+12>>2]=Ga;r[Ga+8>>2]=wa;N=Ga}d=N>>2}while(0);var Lb=0==(ga|0);b:do{if(!Lb){var Mb=aa+28|0,Nb=(r[Mb>>2]<<2)+R+304|0,Xb=(aa|0)==(r[Nb>>2]|0);do{if(Xb){r[Nb>>2]=N;if(0!=(N|0)){break}r[R+4>>2]&=1<<r[Mb>>2]^-1;break b}ga>>>0<z[R+16>>2]>>>0&&(T(),a("Reached an unreachable!"));var Xa=ga+16|0;(r[Xa>>2]|0)==(aa|0)?r[Xa>>2]=N:r[ga+20>>2]=N;if(0==(N|0)){break b}}while(0);N>>>0<z[R+16>>2]>>>0&&(T(),a("Reached an unreachable!"));r[d+6]=ga;var ha=z[f+4];0!=(ha|0)&&(ha>>>0<z[R+16>>2]>>>0&&(T(),a("Reached an unreachable!")),r[d+4]=ha,r[ha+24>>2]=N);var Z=z[f+5];0!=(Z|0)&&(Z>>>0<z[R+16>>2]>>>0&&(T(),a("Reached an unreachable!")),r[d+5]=Z,r[Z+24>>2]=N)}}while(0);var xa=16>U>>>0;b:do{if(xa){var ya=U+b|0;r[f+1]=ya|3;var Db=ya+(ua+4)|0;r[Db>>2]|=1}else{if(r[f+1]=b|3,r[h+(c+1)]=U|1,r[(U>>2)+c+h]=U,256>U>>>0){var ob=U>>>2&1073741822,Ya=(ob<<2)+R+40|0,Eb=z[R>>2],pb=1<<(U>>>3);if(0==(Eb&pb|0)){r[R>>2]=Eb|pb;var qb=Ya,ia=(ob+2<<2)+R+40|0}else{var za=(ob+2<<2)+R+40|0,Aa=z[za>>2];Aa>>>0<z[R+16>>2]>>>0&&(T(),a("Reached an unreachable!"));qb=Aa;ia=za}r[ia>>2]=lb;r[qb+12>>2]=lb;r[h+(c+2)]=qb;r[h+(c+3)]=Ya}else{var ja=Bb,rb=U>>>8;if(0==(rb|0)){var ea=0}else{if(16777215<U>>>0){ea=31}else{var Za=(rb+1048320|0)>>>16&8,Ob=rb<<Za,sb=(Ob+520192|0)>>>16&4,Ia=Ob<<sb,Ja=(Ia+245760|0)>>>16&2,tb=14-(sb|Za|Ja)+(Ia<<Ja>>>15)|0,ea=U>>>((tb+7|0)>>>0)&1|tb<<1}}var $a=(ea<<2)+R+304|0;r[h+(c+7)]=ea;var Fb=b+(ua+16)|0;r[h+(c+5)]=0;r[Fb>>2]=0;var pa=r[R+4>>2],Gb=1<<ea;if(0==(pa&Gb|0)){r[R+4>>2]=pa|Gb,r[$a>>2]=ja,r[h+(c+6)]=$a,r[h+(c+3)]=ja,r[h+(c+2)]=ja}else{for(var ub=U<<(31==(ea|0)?0:25-(ea>>>1)|0),Ba=r[$a>>2];;){if((r[Ba+4>>2]&-8|0)==(U|0)){var Pb=Ba+8|0,ab=z[Pb>>2],kc=z[R+16>>2],wc=Ba>>>0<kc>>>0;do{if(!wc&&ab>>>0>=kc>>>0){r[ab+12>>2]=ja;r[Pb>>2]=ja;r[h+(c+2)]=ab;r[h+(c+3)]=Ba;r[h+(c+6)]=0;break b}}while(0);T();a("Reached an unreachable!")}var ac=(ub>>>31<<2)+Ba+16|0,xc=z[ac>>2];if(0==(xc|0)){if(ac>>>0>=z[R+16>>2]>>>0){r[ac>>2]=ja;r[h+(c+6)]=Ba;r[h+(c+3)]=ja;r[h+(c+2)]=ja;break b}T();a("Reached an unreachable!")}ub<<=1;Ba=xc}}}}}while(0);kb=aa+8|0;break a}}}while(0);T();a("Reached an unreachable!")}kb=0}}while(0);return kb}Bd.X=1;function Cd(b){var d,c;0==(r[X>>2]|0)&&Dd();var e=0==(r[R+440>>2]&4|0);do{if(e){c=r[R+24>>2];if(0==(c|0)){c=6}else{if(c=Ed(c),0==(c|0)){c=6}else{var f=r[X+8>>2],f=b+47-r[R+12>>2]+f&-f;if(2147483647>f>>>0){var i=Fd(f);if((i|0)==(r[c>>2]+r[c+4>>2]|0)){var h=i,g=f;d=i;c=13}else{var k=i,o=f;c=15}}else{c=14}}}if(6==c){if(c=Fd(0),-1==(c|0)){c=14}else{var f=r[X+8>>2],f=f+(b+47)&-f,i=c,w=r[X+4>>2],t=w-1|0,f=0==(t&i|0)?f:f-i+(t+i&-w)|0;2147483647>f>>>0?(i=Fd(f),(i|0)==(c|0)?(h=c,g=f,d=i,c=13):(k=i,o=f,c=15)):c=14}}if(13==c){if(-1!=(h|0)){var A=g,y=h;c=26;break}k=d;o=g}else{if(14==c){r[R+440>>2]|=4;c=23;break}}c=-o|0;if(-1!=(k|0)&2147483647>o>>>0){if(o>>>0<(b+48|0)>>>0){f=r[X+8>>2],f=b+47-o+f&-f,2147483647>f>>>0?-1==(Fd(f)|0)?(Fd(c),c=22):(C=f+o|0,c=21):(C=o,c=21)}else{var C=o;c=21}}else{C=o,c=21}21==c&&-1!=(k|0)?(A=C,y=k,c=26):(r[R+440>>2]|=4,c=23)}else{c=23}}while(0);23==c&&(e=r[X+8>>2],e=e+(b+47)&-e,2147483647>e>>>0?(e=Fd(e),h=Fd(0),-1!=(h|0)&-1!=(e|0)&e>>>0<h>>>0?(h=h-e|0,h>>>0<=(b+40|0)>>>0|-1==(e|0)?c=49:(A=h,y=e,c=26)):c=49):c=49);a:do{if(26==c){e=r[R+432>>2]+A|0;r[R+432>>2]=e;e>>>0>z[R+436>>2]>>>0&&(r[R+436>>2]=e);e=z[R+24>>2];h=0==(e|0);b:do{if(h){g=z[R+16>>2];0==(g|0)|y>>>0<g>>>0&&(r[R+16>>2]=y);r[R+444>>2]=y;r[R+448>>2]=A;r[R+456>>2]=0;r[R+36>>2]=r[X>>2];r[R+32>>2]=-1;for(g=0;!(d=g<<1,k=(d<<2)+R+40|0,r[R+(d+3<<2)+40>>2]=k,r[R+(d+2<<2)+40>>2]=k,g=g+1|0,32==(g|0));){}Gd(y,A-40|0)}else{k=R+444|0;for(d=k>>2;0!=(k|0);){g=z[d];k=k+4|0;o=z[k>>2];C=g+o|0;if((y|0)==(C|0)){if(0!=(r[d+3]&8|0)){break}d=e;if(!(d>>>0>=g>>>0&d>>>0<C>>>0)){break}r[k>>2]=o+A|0;Gd(r[R+24>>2],r[R+12>>2]+A|0);break b}k=r[d+2];d=k>>2}y>>>0<z[R+16>>2]>>>0&&(r[R+16>>2]=y);d=y+A|0;for(k=R+444|0;0!=(k|0);){o=k|0;g=z[o>>2];if((g|0)==(d|0)){if(0!=(r[k+12>>2]&8|0)){break}r[o>>2]=y;var v=k+4|0;r[v>>2]=r[v>>2]+A|0;v=Hd(y,g,b);c=50;break a}k=r[k+8>>2]}Id(y,A)}}while(0);e=z[R+12>>2];e>>>0>b>>>0?(v=e-b|0,r[R+12>>2]=v,h=e=z[R+24>>2],r[R+24>>2]=h+b|0,r[b+(h+4)>>2]=v|1,r[e+4>>2]=b|3,v=e+8|0,c=50):c=49}}while(0);49==c&&(r[Kc>>2]=12,v=0);return v}Cd.X=1;function Jd(){var b;0==(r[X>>2]|0)&&Dd();var d=z[R+24>>2],c=0==(d|0);a:do{if(!c){var e=z[R+12>>2],f=40<e>>>0;do{if(f){var i=z[X+8>>2],h=(Math.floor(((e-41+i|0)>>>0)/(i>>>0))-1)*i|0,g=Ed(d);if(0==(r[g+12>>2]&8|0)){var k=Fd(0);b=(g+4|0)>>2;if((k|0)==(r[g>>2]+r[b]|0)&&(h=Fd(-(2147483646<h>>>0?-2147483648-i|0:h)|0),i=Fd(0),-1!=(h|0)&i>>>0<k>>>0&&(h=k-i|0,(k|0)!=(i|0)))){r[b]=r[b]-h|0;r[R+432>>2]=r[R+432>>2]-h|0;Gd(r[R+24>>2],r[R+12>>2]-h|0);break a}}}}while(0);z[R+12>>2]>>>0>z[R+28>>2]>>>0&&(r[R+28>>2]=-1)}}while(0)}Jd.X=1;function pd(b){var d,c,e,f,i,h,g=b>>2,k,o=0==(b|0);a:do{if(!o){var w=b-8|0,t=w,A=z[R+16>>2],y=w>>>0<A>>>0;b:do{if(!y){var C=z[b-4>>2],v=C&3;if(1!=(v|0)){var u=C&-8;h=u>>2;var x=b+(u-8)|0,q=x,E=0==(C&1|0);c:do{if(E){var G=z[w>>2];if(0==(v|0)){break a}var M=-8-G|0;i=M>>2;var W=b+M|0,H=W,Q=G+u|0;if(W>>>0<A>>>0){break b}if((H|0)==(r[R+20>>2]|0)){f=(b+(u-4)|0)>>2;if(3!=(r[f]&3|0)){var K=H;e=K>>2;var V=Q;break}r[R+8>>2]=Q;r[f]&=-2;r[i+(g+1)]=Q|1;r[x>>2]=Q;break a}if(256>G>>>0){var Da=z[i+(g+2)],qa=z[i+(g+3)];if((Da|0)==(qa|0)){r[R>>2]&=1<<(G>>>3)^-1,K=H,e=K>>2,V=Q}else{var yb=((G>>>2&1073741822)<<2)+R+40|0,eb=(Da|0)!=(yb|0)&Da>>>0<A>>>0;do{if(!eb&&(qa|0)==(yb|0)|qa>>>0>=A>>>0){r[Da+12>>2]=qa;r[qa+8>>2]=Da;K=H;e=K>>2;V=Q;break c}}while(0);T();a("Reached an unreachable!")}}else{var La=W,Ea=z[i+(g+6)],Ma=z[i+(g+3)],fb=(Ma|0)==(La|0);do{if(fb){var zb=M+(b+20)|0,$=r[zb>>2];if(0==($|0)){var ma=M+(b+16)|0,fa=r[ma>>2];if(0==(fa|0)){var S=0;c=S>>2;break}var na=ma,oa=fa}else{na=zb,oa=$,k=21}for(;;){var gb=oa+20|0,Na=r[gb>>2];if(0!=(Na|0)){na=gb,oa=Na}else{var Ab=oa+16|0,ra=z[Ab>>2];if(0==(ra|0)){break}na=Ab;oa=ra}}na>>>0<A>>>0&&(T(),a("Reached an unreachable!"));r[na>>2]=0;S=oa}else{var Oa=z[i+(g+2)];Oa>>>0<A>>>0&&(T(),a("Reached an unreachable!"));r[Oa+12>>2]=Ma;r[Ma+8>>2]=Oa;S=Ma}c=S>>2}while(0);if(0!=(Ea|0)){var Jb=M+(b+28)|0,U=(r[Jb>>2]<<2)+R+304|0,aa=(La|0)==(r[U>>2]|0);do{if(aa){r[U>>2]=S;if(0!=(S|0)){break}r[R+4>>2]&=1<<r[Jb>>2]^-1;K=H;e=K>>2;V=Q;break c}Ea>>>0<z[R+16>>2]>>>0&&(T(),a("Reached an unreachable!"));var ta=Ea+16|0;(r[ta>>2]|0)==(La|0)?r[ta>>2]=S:r[Ea+20>>2]=S;if(0==(S|0)){K=H;e=K>>2;V=Q;break c}}while(0);S>>>0<z[R+16>>2]>>>0&&(T(),a("Reached an unreachable!"));r[c+6]=Ea;var Fa=z[i+(g+4)];0!=(Fa|0)&&(Fa>>>0<z[R+16>>2]>>>0&&(T(),a("Reached an unreachable!")),r[c+4]=Fa,r[Fa+24>>2]=S);var Pa=z[i+(g+5)];0!=(Pa|0)&&(Pa>>>0<z[R+16>>2]>>>0&&(T(),a("Reached an unreachable!")),r[c+5]=Pa,r[Pa+24>>2]=S)}K=H;e=K>>2;V=Q}}else{K=t,e=K>>2,V=u}}while(0);var hb=K;if(hb>>>0<x>>>0){var ib=b+(u-4)|0,Y=z[ib>>2];if(0!=(Y&1|0)){var jb=0==(Y&2|0);do{if(jb){if((q|0)==(r[R+24>>2]|0)){var Qa=r[R+12>>2]+V|0;r[R+12>>2]=Qa;r[R+24>>2]=K;r[e+1]=Qa|1;(K|0)==(r[R+20>>2]|0)&&(r[R+20>>2]=0,r[R+8>>2]=0);if(Qa>>>0<=z[R+28>>2]>>>0){break a}Jd();break a}if((q|0)==(r[R+20>>2]|0)){var Ra=r[R+8>>2]+V|0;r[R+8>>2]=Ra;r[R+20>>2]=K;r[e+1]=Ra|1;r[(hb+Ra|0)>>2]=Ra;break a}var Sa=(Y&-8)+V|0,kb=Y>>>3,ua=256>Y>>>0;c:do{if(ua){var va=z[g+h],Ta=z[((u|4)>>2)+g];if((va|0)==(Ta|0)){r[R>>2]&=1<<kb^-1}else{var Bb=((Y>>>2&1073741822)<<2)+R+40|0;k=(va|0)==(Bb|0)?63:va>>>0<z[R+16>>2]>>>0?66:63;do{if(63==k&&!((Ta|0)!=(Bb|0)&&Ta>>>0<z[R+16>>2]>>>0)){r[va+12>>2]=Ta;r[Ta+8>>2]=va;break c}}while(0);T();a("Reached an unreachable!")}}else{var lb=x,ga=z[h+(g+4)],Ga=z[((u|4)>>2)+g],Wb=(Ga|0)==(lb|0);do{if(Wb){var Kb=u+(b+12)|0,Cb=r[Kb>>2];if(0==(Cb|0)){var mb=u+(b+8)|0,nb=r[mb>>2];if(0==(nb|0)){var N=0;d=N>>2;break}var da=mb,ba=nb}else{da=Kb,ba=Cb,k=73}for(;;){var Ha=ba+20|0,Ua=r[Ha>>2];if(0!=(Ua|0)){da=Ha,ba=Ua}else{var Va=ba+16|0,Wa=z[Va>>2];if(0==(Wa|0)){break}da=Va;ba=Wa}}da>>>0<z[R+16>>2]>>>0&&(T(),a("Reached an unreachable!"));r[da>>2]=0;N=ba}else{var wa=z[g+h];wa>>>0<z[R+16>>2]>>>0&&(T(),a("Reached an unreachable!"));r[wa+12>>2]=Ga;r[Ga+8>>2]=wa;N=Ga}d=N>>2}while(0);if(0!=(ga|0)){var Lb=u+(b+20)|0,Mb=(r[Lb>>2]<<2)+R+304|0,Nb=(lb|0)==(r[Mb>>2]|0);do{if(Nb){r[Mb>>2]=N;if(0!=(N|0)){break}r[R+4>>2]&=1<<r[Lb>>2]^-1;break c}ga>>>0<z[R+16>>2]>>>0&&(T(),a("Reached an unreachable!"));var Xb=ga+16|0;(r[Xb>>2]|0)==(lb|0)?r[Xb>>2]=N:r[ga+20>>2]=N;if(0==(N|0)){break c}}while(0);N>>>0<z[R+16>>2]>>>0&&(T(),a("Reached an unreachable!"));r[d+6]=ga;var Xa=z[h+(g+2)];0!=(Xa|0)&&(Xa>>>0<z[R+16>>2]>>>0&&(T(),a("Reached an unreachable!")),r[d+4]=Xa,r[Xa+24>>2]=N);var ha=z[h+(g+3)];0!=(ha|0)&&(ha>>>0<z[R+16>>2]>>>0&&(T(),a("Reached an unreachable!")),r[d+5]=ha,r[ha+24>>2]=N)}}}while(0);r[e+1]=Sa|1;r[hb+Sa>>2]=Sa;if((K|0)!=(r[R+20>>2]|0)){var Z=Sa}else{r[R+8>>2]=Sa;break a}}else{r[ib>>2]=Y&-2,r[e+1]=V|1,Z=r[hb+V>>2]=V}}while(0);if(256>Z>>>0){var xa=Z>>>2&1073741822,ya=(xa<<2)+R+40|0,Db=z[R>>2],ob=1<<(Z>>>3);if(0==(Db&ob|0)){r[R>>2]=Db|ob;var Ya=ya,Eb=(xa+2<<2)+R+40|0}else{var pb=(xa+2<<2)+R+40|0,qb=z[pb>>2];qb>>>0<z[R+16>>2]>>>0&&(T(),a("Reached an unreachable!"));Ya=qb;Eb=pb}r[Eb>>2]=K;r[Ya+12>>2]=K;r[e+2]=Ya;r[e+3]=ya;break a}var ia=K,za=Z>>>8;if(0==(za|0)){var Aa=0}else{if(16777215<Z>>>0){Aa=31}else{var ja=(za+1048320|0)>>>16&8,rb=za<<ja,ea=(rb+520192|0)>>>16&4,Za=rb<<ea,Ob=(Za+245760|0)>>>16&2,sb=14-(ea|ja|Ob)+(Za<<Ob>>>15)|0,Aa=Z>>>((sb+7|0)>>>0)&1|sb<<1}}var Ia=(Aa<<2)+R+304|0;r[e+7]=Aa;r[e+5]=0;r[e+4]=0;var Ja=r[R+4>>2],tb=1<<Aa,$a=0==(Ja&tb|0);c:do{if($a){r[R+4>>2]=Ja|tb,r[Ia>>2]=ia,r[e+6]=Ia,r[e+3]=K,r[e+2]=K}else{for(var Fb=Z<<(31==(Aa|0)?0:25-(Aa>>>1)|0),pa=r[Ia>>2];;){if((r[pa+4>>2]&-8|0)==(Z|0)){var Gb=pa+8|0,ub=z[Gb>>2],Ba=z[R+16>>2],Pb=pa>>>0<Ba>>>0;do{if(!Pb&&ub>>>0>=Ba>>>0){r[ub+12>>2]=ia;r[Gb>>2]=ia;r[e+2]=ub;r[e+3]=pa;r[e+6]=0;break c}}while(0);T();a("Reached an unreachable!")}var ab=(Fb>>>31<<2)+pa+16|0,kc=z[ab>>2];if(0==(kc|0)){if(ab>>>0>=z[R+16>>2]>>>0){r[ab>>2]=ia;r[e+6]=pa;r[e+3]=K;r[e+2]=K;break c}T();a("Reached an unreachable!")}Fb<<=1;pa=kc}}}while(0);var wc=r[R+32>>2]-1|0;r[R+32>>2]=wc;if(0!=(wc|0)){break a}var ac=r[R+452>>2],xc=0==(ac|0);c:do{if(!xc){for(var Qd=ac;;){var Rd=r[Qd+8>>2];if(0==(Rd|0)){break c}Qd=Rd}}}while(0);r[R+32>>2]=-1;break a}}}}}while(0);T();a("Reached an unreachable!")}}while(0)}Module._free=pd;pd.X=1;function Ed(b){var d,c=R+444|0;for(d=c>>2;;){var e=z[d];if(e>>>0<=b>>>0&&(e+r[d+1]|0)>>>0>b>>>0){var f=c;break}d=z[d+2];if(0==(d|0)){f=0;break}c=d;d=c>>2}return f}function Gd(b,d){var c=b+8|0,c=0==(c&7|0)?0:-c&7,e=d-c|0;r[R+24>>2]=b+c|0;r[R+12>>2]=e;r[c+(b+4)>>2]=e|1;r[d+(b+4)>>2]=40;r[R+28>>2]=r[X+16>>2]}function Dd(){if(0==(r[X>>2]|0)){var b=Kd();0==(b-1&b|0)?(r[X+8>>2]=b,r[X+4>>2]=b,r[X+12>>2]=-1,r[X+16>>2]=2097152,r[X+20>>2]=0,r[R+440>>2]=0,r[X>>2]=Math.floor(Date.now()/1e3)&-16^1431655768):(T(),a("Reached an unreachable!"))}}function Hd(b,d,c){var e,f,i,h=d>>2,g=b>>2,k,o=b+8|0,o=0==(o&7|0)?0:-o&7;f=d+8|0;var w=0==(f&7|0)?0:-f&7;i=w>>2;var t=d+w|0,A=o+c|0;f=A>>2;var y=b+A|0,C=t-(b+o)-c|0;r[(o+4>>2)+g]=c|3;c=(t|0)==(r[R+24>>2]|0);a:do{if(c){var v=r[R+12>>2]+C|0;r[R+12>>2]=v;r[R+24>>2]=y;r[f+(g+1)]=v|1}else{if((t|0)==(r[R+20>>2]|0)){v=r[R+8>>2]+C|0,r[R+8>>2]=v,r[R+20>>2]=y,r[f+(g+1)]=v|1,r[(b+v+A|0)>>2]=v}else{var u=z[i+(h+1)];if(1==(u&3|0)){var v=u&-8,x=u>>>3,q=256>u>>>0;b:do{if(q){var E=z[((w|8)>>2)+h],G=z[i+(h+3)];if((E|0)==(G|0)){r[R>>2]&=1<<x^-1}else{var M=((u>>>2&1073741822)<<2)+R+40|0;k=(E|0)==(M|0)?15:E>>>0<z[R+16>>2]>>>0?18:15;do{if(15==k&&!((G|0)!=(M|0)&&G>>>0<z[R+16>>2]>>>0)){r[E+12>>2]=G;r[G+8>>2]=E;break b}}while(0);T();a("Reached an unreachable!")}}else{k=t;E=z[((w|24)>>2)+h];G=z[i+(h+3)];M=(G|0)==(k|0);do{if(M){e=w|16;var W=e+(d+4)|0,H=r[W>>2];if(0==(H|0)){if(e=d+e|0,H=r[e>>2],0==(H|0)){H=0;e=H>>2;break}}else{e=W}for(;;){var W=H+20|0,Q=r[W>>2];if(0==(Q|0)&&(W=H+16|0,Q=z[W>>2],0==(Q|0))){break}e=W;H=Q}e>>>0<z[R+16>>2]>>>0&&(T(),a("Reached an unreachable!"));r[e>>2]=0}else{e=z[((w|8)>>2)+h],e>>>0<z[R+16>>2]>>>0&&(T(),a("Reached an unreachable!")),r[e+12>>2]=G,r[G+8>>2]=e,H=G}e=H>>2}while(0);if(0!=(E|0)){G=w+(d+28)|0;M=(r[G>>2]<<2)+R+304|0;W=(k|0)==(r[M>>2]|0);do{if(W){r[M>>2]=H;if(0!=(H|0)){break}r[R+4>>2]&=1<<r[G>>2]^-1;break b}E>>>0<z[R+16>>2]>>>0&&(T(),a("Reached an unreachable!"));Q=E+16|0;(r[Q>>2]|0)==(k|0)?r[Q>>2]=H:r[E+20>>2]=H;if(0==(H|0)){break b}}while(0);H>>>0<z[R+16>>2]>>>0&&(T(),a("Reached an unreachable!"));r[e+6]=E;k=w|16;E=z[(k>>2)+h];0!=(E|0)&&(E>>>0<z[R+16>>2]>>>0&&(T(),a("Reached an unreachable!")),r[e+4]=E,r[E+24>>2]=H);k=z[(k+4>>2)+h];0!=(k|0)&&(k>>>0<z[R+16>>2]>>>0&&(T(),a("Reached an unreachable!")),r[e+5]=k,r[k+24>>2]=H)}}}while(0);u=d+(v|w)|0;v=v+C|0}else{u=t,v=C}u=u+4|0;r[u>>2]&=-2;r[f+(g+1)]=v|1;r[(v>>2)+g+f]=v;if(256>v>>>0){x=v>>>2&1073741822,u=(x<<2)+R+40|0,q=z[R>>2],v=1<<(v>>>3),0==(q&v|0)?(r[R>>2]=q|v,v=u,x=(x+2<<2)+R+40|0):(x=(x+2<<2)+R+40|0,v=z[x>>2],v>>>0<z[R+16>>2]>>>0&&(T(),a("Reached an unreachable!"))),r[x>>2]=y,r[v+12>>2]=y,r[f+(g+2)]=v,r[f+(g+3)]=u}else{if(u=y,q=v>>>8,0==(q|0)?x=0:16777215<v>>>0?x=31:(x=(q+1048320|0)>>>16&8,k=q<<x,q=(k+520192|0)>>>16&4,k<<=q,E=(k+245760|0)>>>16&2,x=14-(q|x|E)+(k<<E>>>15)|0,x=v>>>((x+7|0)>>>0)&1|x<<1),q=(x<<2)+R+304|0,r[f+(g+7)]=x,k=A+(b+16)|0,r[f+(g+5)]=0,r[k>>2]=0,k=r[R+4>>2],E=1<<x,0==(k&E|0)){r[R+4>>2]=k|E,r[q>>2]=u,r[f+(g+6)]=q,r[f+(g+3)]=u,r[f+(g+2)]=u}else{x=v<<(31==(x|0)?0:25-(x>>>1)|0);for(q=r[q>>2];;){if((r[q+4>>2]&-8|0)==(v|0)){k=q+8|0;E=z[k>>2];G=z[R+16>>2];M=q>>>0<G>>>0;do{if(!M&&E>>>0>=G>>>0){r[E+12>>2]=u;r[k>>2]=u;r[f+(g+2)]=E;r[f+(g+3)]=q;r[f+(g+6)]=0;break a}}while(0);T();a("Reached an unreachable!")}k=(x>>>31<<2)+q+16|0;E=z[k>>2];if(0==(E|0)){if(k>>>0>=z[R+16>>2]>>>0){r[k>>2]=u;r[f+(g+6)]=q;r[f+(g+3)]=u;r[f+(g+2)]=u;break a}T();a("Reached an unreachable!")}x<<=1;q=E}}}}}}while(0);return b+(o|8)|0}Hd.X=1;function Id(b,d){var c,e,f=z[R+24>>2];e=f>>2;var i=Ed(f),h=r[i>>2];c=r[i+4>>2];var i=h+c|0,g=h+(c-39)|0,h=h+(c-47)+(0==(g&7|0)?0:-g&7)|0,h=h>>>0<(f+16|0)>>>0?f:h,g=h+8|0;c=g>>2;Gd(b,d-40|0);r[(h+4|0)>>2]=27;r[c]=r[R+444>>2];r[c+1]=r[R+448>>2];r[c+2]=r[R+452>>2];r[c+3]=r[R+456>>2];r[R+444>>2]=b;r[R+448>>2]=d;r[R+456>>2]=0;r[R+452>>2]=g;c=h+28|0;r[c>>2]=7;g=(h+32|0)>>>0<i>>>0;a:do{if(g){for(var k=c;;){var o=k+4|0;r[o>>2]=7;if((k+8|0)>>>0>=i>>>0){break a}k=o}}}while(0);i=(h|0)==(f|0);a:do{if(!i){if(c=h-f|0,g=f+c|0,k=c+(f+4)|0,r[k>>2]&=-2,r[e+1]=c|1,r[g>>2]=c,256>c>>>0){k=c>>>2&1073741822,g=(k<<2)+R+40|0,o=z[R>>2],c=1<<(c>>>3),0==(o&c|0)?(r[R>>2]=o|c,c=g,k=(k+2<<2)+R+40|0):(k=(k+2<<2)+R+40|0,c=z[k>>2],c>>>0<z[R+16>>2]>>>0&&(T(),a("Reached an unreachable!"))),r[k>>2]=f,r[c+12>>2]=f,r[e+2]=c,r[e+3]=g}else{g=f;o=c>>>8;if(0==(o|0)){k=0}else{if(16777215<c>>>0){k=31}else{var k=(o+1048320|0)>>>16&8,w=o<<k,o=(w+520192|0)>>>16&4,w=w<<o,t=(w+245760|0)>>>16&2,k=14-(o|k|t)+(w<<t>>>15)|0,k=c>>>((k+7|0)>>>0)&1|k<<1}}o=(k<<2)+R+304|0;r[e+7]=k;r[e+5]=0;r[e+4]=0;w=r[R+4>>2];t=1<<k;if(0==(w&t|0)){r[R+4>>2]=w|t,r[o>>2]=g,r[e+6]=o,r[e+3]=f,r[e+2]=f}else{k=c<<(31==(k|0)?0:25-(k>>>1)|0);for(o=r[o>>2];;){if((r[o+4>>2]&-8|0)==(c|0)){var w=o+8|0,t=z[w>>2],A=z[R+16>>2],y=o>>>0<A>>>0;do{if(!y&&t>>>0>=A>>>0){r[t+12>>2]=g;r[w>>2]=g;r[e+2]=t;r[e+3]=o;r[e+6]=0;break a}}while(0);T();a("Reached an unreachable!")}w=(k>>>31<<2)+o+16|0;t=z[w>>2];if(0==(t|0)){if(w>>>0>=z[R+16>>2]>>>0){r[w>>2]=g;r[e+6]=o;r[e+3]=f;r[e+2]=f;break a}T();a("Reached an unreachable!")}k<<=1;o=t}}}}}while(0)}Id.X=1;function yd(b){0!=(b|0)&&pd(b)}function Ld(b){Md(b|0)}function td(b){for(b=0==(b|0)?1:b;;){var d=ic(b);if(0==(d|0)){d=(Yb=r[Nd>>2],r[Nd>>2]=Yb,Yb);if(0==(d|0)){var c=ic(4);r[c>>2]=Od+8|0;var e=Pd;if(!Sd){try{r[__ZTVN10__cxxabiv119__pointer_type_infoE>>2]=0}catch(f){}try{r[__ZTVN10__cxxabiv117__class_type_infoE>>2]=1}catch(i){}try{r[Td>>2]=2}catch(h){}Sd=j}Module.Va("Compiled code throwing an exception, "+[c,e,2]+", at "+Error().stack);r[Ud>>2]=c;r[Ud+4>>2]=e;r[Ud+8>>2]=2;"uncaught_exception"in Vd?Vd.w++:Vd.w=1;a(c);a("Reached an unreachable!")}lc[d]()}else{return d}}return l}function L(b){Kc||(Kc=F([0],"i32",D));r[Kc>>2]=b}var Kc,Wd=13,qd=9,id=22,Xd=5,Yd=21,Zd=25,$d=6,hd=34,ae=0,be=0,ce=0,bd=0,de=2,O=[l],ee=j;function fe(b,d){if("string"!==typeof b){return l}d===ca&&(d="/");b&&"/"==b[0]&&(d="");for(var c=(d+"/"+b).split("/").reverse(),e=[""];c.length;){var f=c.pop();""==f||"."==f||(".."==f?1<e.length&&e.pop():e.push(f))}return 1==e.length?"/":e.join("/")}function ge(b,d,c){var e={Ta:m,k:m,error:0,name:l,path:l,object:l,s:m,u:l,t:l},b=fe(b);if("/"==b){e.Ta=j,e.k=e.s=j,e.name="/",e.path=e.u="/",e.object=e.t=he}else{if(b!==l){for(var c=c||0,b=b.slice(1).split("/"),f=he,i=[""];b.length;){1==b.length&&f.c&&(e.s=j,e.u=1==i.length?"/":i.join("/"),e.t=f,e.name=b[0]);var h=b.shift();if(f.c){if(f.v){if(!f.a.hasOwnProperty(h)){e.error=2;break}}else{e.error=Wd;break}}else{e.error=20;break}f=f.a[h];if(f.link&&!(d&&0==b.length)){if(40<c){e.error=40;break}e=fe(f.link,i.join("/"));return ge([e].concat(b).join("/"),d,c+1)}i.push(h);0==b.length&&(e.k=j,e.path=i.join("/"),e.object=f)}}}return e}function ie(b){je();b=ge(b,ca);if(b.k){return b.object}L(b.error);return l}function ke(b,d,c,e,f){b||(b="/");"string"===typeof b&&(b=ie(b));b||(L(Wd),a(Error("Parent path must exist.")));b.c||(L(20),a(Error("Parent must be a folder.")));!b.write&&!ee&&(L(Wd),a(Error("Parent folder must be writeable.")));if(!d||"."==d||".."==d){L(2),a(Error("Name must not be empty."))}b.a.hasOwnProperty(d)&&(L(17),a(Error("Can't overwrite object.")));b.a[d]={v:e===ca?j:e,write:f===ca?m:f,timestamp:Date.now(),Sa:de++};for(var i in c){c.hasOwnProperty(i)&&(b.a[d][i]=c[i])}return b.a[d]}function le(b,d){return ke(b,d,{c:j,d:m,a:{}},j,j)}function me(){var b="dev/shm/tmp",d=ie("/");d===l&&a(Error("Invalid parent."));for(b=b.split("/").reverse();b.length;){var c=b.pop();c&&(d.a.hasOwnProperty(c)||le(d,c),d=d.a[c])}}function ne(b,d,c,e){!c&&!e&&a(Error("A device must have at least one callback defined."));var f={d:j,input:c,e:e};f.c=m;return ke(b,d,f,Boolean(c),Boolean(e))}function je(){he||(he={v:j,write:j,c:j,d:m,timestamp:Date.now(),Sa:1,a:{}})}function oe(){var b,d,c;function e(b){b===l||10===b?(d.h(d.buffer.join("")),d.buffer=[]):d.buffer.push(String.fromCharCode(b))}wb(!pe,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");pe=j;je();b=b||Module.stdin;d=d||Module.stdout;c=c||Module.stderr;var f=j,i=j,h=j;b||(f=m,b=(function(){if(!b.j||!b.j.length){var c;"undefined"!=typeof window&&"function"==typeof window.prompt?c=window.prompt("Input: "):"function"==typeof readline&&(c=readline());c||(c="");b.j=qc(c+"\n",j)}return b.j.shift()}));d||(i=m,d=e);d.h||(d.h=Module.print);d.buffer||(d.buffer=[]);c||(h=m,c=e);c.h||(c.h=Module.print);c.buffer||(c.buffer=[]);le("/","tmp");var g=le("/","dev"),k=ne(g,"stdin",b),o=ne(g,"stdout",l,d);c=ne(g,"stderr",l,c);ne(g,"tty",b,d);O[1]={path:"/dev/stdin",object:k,position:0,f:j,g:m,r:m,m:!f,error:m,q:m,b:[]};O[2]={path:"/dev/stdout",object:o,position:0,f:m,g:j,r:m,m:!i,error:m,q:m,b:[]};O[3]={path:"/dev/stderr",object:c,position:0,f:m,g:j,r:m,m:!h,error:m,q:m,b:[]};ae=F([1],"void*",D);be=F([2],"void*",D);ce=F([3],"void*",D);me();O[ae]=O[1];O[be]=O[2];O[ce]=O[3];bd=F([F([0,0,0,0,ae,0,0,0,be,0,0,0,ce,0,0,0],"void*",D)],"void*",D)}var pe,he;function qe(b,d,c,e){var f=O[b];if(!f||f.object.d){return L(qd),-1}if(f.f){if(f.object.c){return L(Yd),-1}if(0>c||0>e){return L(id),-1}for(b=0;f.b.length&&0<c;){p[d++]=f.b.pop(),c--,b++}for(var f=f.object.a,c=Math.min(f.length-e,c),i=0;i<c;i++){p[d+i]=f[e+i],b++}return b}L(Wd);return-1}function Rc(b,d,c){var e=O[b];if(e){if(e.f){if(0>c){return L(id),-1}if(e.object.d){if(e.object.input){for(b=0;e.b.length&&0<c;){p[d++]=e.b.pop(),c--,b++}for(var f=0;f<c;f++){try{var i=e.object.input()}catch(h){return L(Xd),-1}if(i===l||i===ca){break}b++;p[d+f]=i}return b}L($d);return-1}i=e.b.length;b=qe(b,d,c,e.position);-1!=b&&(e.position+=e.b.length-i+b);return b}L(Wd);return-1}L(qd);return-1}function Lc(b,d,c){var e=O[b];if(e){if(e.g){if(0>c){return L(id),-1}if(e.object.d){if(e.object.e){for(var f=0;f<c;f++){try{e.object.e(p[d+f])}catch(i){return L(Xd),-1}}e.object.timestamp=Date.now();return f}L($d);return-1}f=e.position;b=O[b];if(!b||b.object.d){L(qd),d=-1}else{if(b.g){if(b.object.c){L(Yd),d=-1}else{if(0>c||0>f){L(id),d=-1}else{for(var h=b.object.a;h.length<f;){h.push(0)}for(var g=0;g<c;g++){h[f+g]=s[d+g]}b.object.timestamp=Date.now();d=g}}}else{L(Wd),d=-1}}-1!=d&&(e.position+=d);return d}L(Wd);return-1}L(qd);return-1}function Mc(b){uc(yc);a("exit("+b+") called, at "+Error().stack)}function zd(b,d,c,e){d*=c;0!=d&&-1==Lc(e,b,d)&&O[e]&&(O[e].error=j)}function xd(b,d){function c(b){var c;"double"===b?c=(gc[0]=r[d+f>>2],gc[1]=r[d+f+4>>2],fc[0]):"i64"==b?c=[r[d+f>>2],r[d+f+4>>2]]:(b="i32",c=r[d+f>>2]);f+=Math.max(db(b),vb);return c}for(var e=b,f=0,i=[],h,g;;){var k=e;h=p[e];if(0===h){break}g=p[e+1];if(37==h){var o=m,w=m,t=m,A=m;a:for(;;){switch(g){case 43:o=j;break;case 45:w=j;break;case 35:t=j;break;case 48:if(A){break a}else{A=j;break};default:break a}e++;g=p[e+1]}var y=0;if(42==g){y=c("i32"),e++,g=p[e+1]}else{for(;48<=g&&57>=g;){y=10*y+(g-48),e++,g=p[e+1]}}var C=m;if(46==g){var v=0,C=j;e++;g=p[e+1];if(42==g){v=c("i32"),e++}else{for(;;){g=p[e+1];if(48>g||57<g){break}v=10*v+(g-48);e++}}g=p[e+1]}else{v=6}var u;switch(String.fromCharCode(g)){case"h":g=p[e+2];104==g?(e++,u=1):u=2;break;case"l":g=p[e+2];108==g?(e++,u=8):u=4;break;case"L":case"q":case"j":u=8;break;case"z":case"t":case"I":u=4;break;default:u=l}u&&e++;g=p[e+1];if(-1!="d,i,u,o,x,X,p".split(",").indexOf(String.fromCharCode(g))){k=100==g||105==g;u=u||4;h=c("i"+8*u);8==u&&(h=117==g?(h[0]>>>0)+4294967296*(h[1]>>>0):(h[0]>>>0)+4294967296*(h[1]|0));4>=u&&(h=(k?Dc:Cc)(h&Math.pow(256,u)-1,8*u));var x=Math.abs(h),q,k="";if(100==g||105==g){q=Dc(h,8*u).toString(10)}else{if(117==g){q=Cc(h,8*u).toString(10),h=Math.abs(h)}else{if(111==g){q=(t?"0":"")+x.toString(8)}else{if(120==g||88==g){k=t?"0x":"";if(0>h){h=-h;q=(x-1).toString(16);t=[];for(x=0;x<q.length;x++){t.push((15-parseInt(q[x],16)).toString(16))}for(q=t.join("");q.length<2*u;){q="f"+q}}else{q=x.toString(16)}88==g&&(k=k.toUpperCase(),q=q.toUpperCase())}else{112==g&&(0===x?q="(nil)":(k="0x",q=x.toString(16)))}}}}if(C){for(;q.length<v;){q="0"+q}}for(o&&(k=0>h?"-"+k:"+"+k);k.length+q.length<y;){w?q+=" ":A?q="0"+q:k=" "+k}q=k+q;q.split("").forEach((function(b){i.push(b.charCodeAt(0))}))}else{if(-1!="f,F,e,E,g,G".split(",").indexOf(String.fromCharCode(g))){h=c("double");if(isNaN(h)){q="nan",A=m}else{if(isFinite(h)){C=m;u=Math.min(v,20);if(103==g||71==g){C=j,v=v||1,u=parseInt(h.toExponential(u).split("e")[1],10),v>u&&-4<=u?(g=(103==g?"f":"F").charCodeAt(0),v-=u+1):(g=(103==g?"e":"E").charCodeAt(0),v--),u=Math.min(v,20)}if(101==g||69==g){q=h.toExponential(u),/[eE][-+]\d$/.test(q)&&(q=q.slice(0,-1)+"0"+q.slice(-1))}else{if(102==g||70==g){q=h.toFixed(u)}}k=q.split("e");if(C&&!t){for(;1<k[0].length&&-1!=k[0].indexOf(".")&&("0"==k[0].slice(-1)||"."==k[0].slice(-1));){k[0]=k[0].slice(0,-1)}}else{for(t&&-1==q.indexOf(".")&&(k[0]+=".");v>u++;){k[0]+="0"}}q=k[0]+(1<k.length?"e"+k[1]:"");69==g&&(q=q.toUpperCase());o&&0<=h&&(q="+"+q)}else{q=(0>h?"-":"")+"inf",A=m}}for(;q.length<y;){q=w?q+" ":A&&("-"==q[0]||"+"==q[0])?q[0]+"0"+q.slice(1):(A?"0":" ")+q}97>g&&(q=q.toUpperCase());q.split("").forEach((function(b){i.push(b.charCodeAt(0))}))}else{if(115==g){(o=c("i8*"))?(o=Bc(o),C&&o.length>v&&(o=o.slice(0,v))):o=qc("(null)",j);if(!w){for(;o.length<y--;){i.push(32)}}i=i.concat(o);if(w){for(;o.length<y--;){i.push(32)}}}else{if(99==g){for(w&&i.push(c("i8"));0<--y;){i.push(32)}w||i.push(c("i8"))}else{if(110==g){w=c("i32*"),r[w>>2]=i.length}else{if(37==g){i.push(h)}else{for(x=k;x<e+2;x++){i.push(p[x])}}}}}}}e+=2}else{i.push(h),e+=1}}return i}function ed(b,d,c){d=xd(d,c);c=n;zd(F(d,"i8",hc),1,d.length,b);n=c}var gd={1:"Operation not permitted",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"Input/output error",6:"No such device or address",8:"Exec format error",9:"Bad file descriptor",10:"No child processes",11:"Resource temporarily unavailable",12:"Cannot allocate memory",13:"Permission denied",14:"Bad address",16:"Device or resource busy",17:"File exists",18:"Invalid cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Inappropriate ioctl for device",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read-only file system",31:"Too many links",32:"Broken pipe",33:"Numerical argument out of domain",34:"Numerical result out of range",35:"Resource deadlock avoided",36:"File name too long",37:"No locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many levels of symbolic links",42:"No message of desired type",43:"Identifier removed",60:"Device not a stream",61:"No data available",62:"Timer expired",63:"Out of streams resources",67:"Link has been severed",71:"Protocol error",72:"Multihop attempted",74:"Bad message",75:"Value too large for defined data type",84:"Invalid or incomplete multibyte or wide character",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Protocol not supported",95:"Operation not supported",97:"Address family not supported by protocol",98:"Address already in use",99:"Cannot assign requested address",100:"Network is down",101:"Network is unreachable",102:"Network dropped connection on reset",103:"Software caused connection abort",104:"Connection reset by peer",105:"No buffer space available",106:"Transport endpoint is already connected",107:"Transport endpoint is not connected",110:"Connection timed out",111:"Connection refused",113:"No route to host",114:"Operation already in progress",115:"Operation now in progress",116:"Stale NFS file handle",122:"Disk quota exceeded",125:"Operation canceled",130:"Owner died",131:"State not recoverable"},fd;function nd(b){if(!O[b]){return L(qd),0}if(O[b].m){return 1}L(Zd);return 0}function rd(b,d){ed(r[be>>2],b,d)}function T(){a("ABORT: undefined, at "+Error().stack)}function jc(b,d){var c=0;if(20<=d){for(var e=b+d;b%4;){p[b++]=c}0>c&&(c+=256);for(var f=b>>2,i=e>>2,h=c|c<<8|c<<16|c<<24;f<i;){r[f++]=h}for(b=f<<2;b<e;){p[b++]=c}}else{for(;d--;){p[b++]=c}}}function Kd(){switch(8){case 8:return mc;case 54:case 56:case 21:case 61:case 63:case 22:case 67:case 23:case 24:case 25:case 26:case 27:case 69:case 28:case 101:case 70:case 71:case 29:case 30:case 199:case 75:case 76:case 32:case 43:case 44:case 80:case 46:case 47:case 45:case 48:case 49:case 42:case 82:case 33:case 7:case 108:case 109:case 107:case 112:case 119:case 121:return 200809;case 13:case 104:case 94:case 95:case 34:case 35:case 77:case 81:case 83:case 84:case 85:case 86:case 87:case 88:case 89:case 90:case 91:case 94:case 95:case 110:case 111:case 113:case 114:case 115:case 116:case 117:case 118:case 120:case 40:case 16:case 79:case 19:return-1;case 92:case 93:case 5:case 72:case 6:case 74:case 92:case 93:case 96:case 97:case 98:case 99:case 102:case 103:case 105:return 1;case 38:case 66:case 50:case 51:case 4:return 1024;case 15:case 64:case 41:return 32;case 55:case 37:case 17:return 2147483647;case 18:case 1:return 47839;case 59:case 57:return 99;case 68:case 58:return 2048;case 0:return 2097152;case 3:return 65536;case 14:return 32768;case 73:return 32767;case 39:return 16384;case 60:return 1e3;case 106:return 700;case 52:return 256;case 62:return 255;case 2:return 100;case 65:return 64;case 36:return 20;case 100:return 16;case 20:return 6;case 53:return 4}L(id);return-1}function Fd(b){re||(Ib=Ib+4095>>12<<12,re=j);var d=Ib;0!=b&&Hb(b);return d}var re;function Vd(){return!!Vd.w}var Sd,Md;function jd(b){p[se]=Cc(10);-1==Lc(b,se,1)&&b in O&&(O[b].error=j)}function P(b){var d=r[be>>2];0>Lc(d,b,Ac(b))||jd(d)}L(0);vc.unshift({l:(function(){ee=m;pe||oe()})});yc.push({l:(function(){pe&&(O[2]&&0<O[2].object.e.buffer.length&&O[2].object.e(10),O[3]&&0<O[3].object.e.buffer.length&&O[3].object.e(10))})});var Ud=F(12,"void*",D),se=F([0],"i8",D);Module.Qa=(function(b){function d(){for(var b=0;3>b;b++){e.push(0)}}var c=b.length+1,e=[F(qc("/bin/this.program"),"i8",D)];d();for(var f=0;f<c-1;f+=1){e.push(F(qc(b[f]),"i8",D)),d()}e.push(0);e=F(e,"i32",D);return ld(c,e)});var Jc,vc=vc.concat([{l:(function(){for(var b=0;;){var d=b>>>1,d=0==(b&1|0)?d:d^-306674912,c=d>>>1,d=0==(d&1|0)?c:c^-306674912,c=d>>>1,d=0==(d&1|0)?c:c^-306674912,c=d>>>1,d=0==(d&1|0)?c:c^-306674912,c=d>>>1,d=0==(d&1|0)?c:c^-306674912,c=d>>>1,d=0==(d&1|0)?c:c^-306674912,c=d>>>1,d=0==(d&1|0)?c:c^-306674912,c=d>>>1;r[Jc+(b<<2)>>2]=0==(d&1|0)?c:c^-306674912;b=b+1|0;if(256==(b|0)){break}}})}]),dd,kd,md,vd,wd,ud,R,X,Nd,Od,Td,Pd;Jc=F(1024,"i32",D);I.G=F([82,97,110,103,101,32,100,101,99,111,100,101,114,32,102,105,110,97,108,32,99,111,100,101,32,105,115,32,110,111,116,32,122,101,114,111,0],"i8",D);I.F=F([7,7,7,7,7,7,7,10,10,10,10,10],"i8",D);I.C=F([8,8,8,8,8,8,8,11,11,11,11,11],"i8",D);I.B=F([9,9,9,9,9,9,9,11,11,11,11,11],"i8",D);I.D=F([0,0,0,0,1,2,3,4,5,6,4,5],"i8",D);dd=F(1,"i32",D);I.H=F([37,115,58,32,37,115,0],"i8",D);I.K=F([58,32,37,115,0],"i8",D);kd=F(1,"i8*",D);I.aa=F([84,114,121,32,96,37,115,32,45,45,104,101,108,112,39,32,102,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,46,10,0],"i8",D);I.ha=F([37,115,58,32,105,110,116,101,114,110,97,108,32,101,114,114,111,114,58,32,37,115,46,10,0],"i8",D);I.ia=F([117,110,99,97,117,103,104,116,32,111,112,116,105,111,110,0],"i8",D);md=F(1,"i1",D);I.ka=F([67,97,110,39,116,32,99,108,111,115,101,32,115,116,100,111,117,116,0],"i8",D);I.la=F([69,114,114,111,114,32,114,101,97,100,105,110,103,32,109,101,109,98,101,114,32,104,101,97,100,101,114,0],"i8",D);I.ma=F([66,97,100,32,109,97,103,105,99,32,110,117,109,98,101,114,32,40,102,105,108,101,32,110,111,116,32,105,110,32,108,122,105,112,32,102,111,114,109,97,116,41,0],"i8",D);I.I=F([86,101,114,115,105,111,110,32,37,100,32,109,101,109,98,101,114,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,10,0],"i8",D);I.J=F([73,110,118,97,108,105,100,32,100,105,99,116,105,111,110,97,114,121,32,115,105,122,101,32,105,110,32,109,101,109,98,101,114,32,104,101,97,100,101,114,0],"i8",D);I.L=F([118,101,114,115,105,111,110,32,37,100,44,32,100,105,99,116,105,111,110,97,114,121,32,115,105,122,101,32,37,55,115,66,46,32,32,0],"i8",D);I.M=F([70,105,108,101,32,101,110,100,115,32,117,110,101,120,112,101,99,116,101,100,108,121,32,97,116,32,112,111,115,32,37,108,108,100,10,0],"i8",D);I.N=F([68,101,99,111,100,101,114,32,101,114,114,111,114,32,97,116,32,112,111,115,32,37,108,108,100,10,0],"i8",D);I.n=F([111,107,10,0],"i8",D);I.o=F([100,111,110,101,10,0],"i8",D);vd=F(32,"*",D);I.O=F([75,105,0],"i8",D);I.P=F([77,105,0],"i8",D);I.Q=F([71,105,0],"i8",D);I.R=F([84,105,0],"i8",D);I.S=F([80,105,0],"i8",D);I.T=F([69,105,0],"i8",D);I.U=F([90,105,0],"i8",D);I.V=F([89,105,0],"i8",D);wd=F(16,"i8",D);ud=F(1,"i8",D);I.W=F([37,108,108,100,32,37,115,0],"i8",D);I.z=F([76,90,73,80],"i8",D);I.Y=F([73,32,119,111,110,39,116,32,119,114,105,116,101,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,116,111,32,97,32,116,101,114,109,105,110,97,108,46,0],"i8",D);I.Z=F([73,32,119,111,110,39,116,32,114,101,97,100,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,102,114,111,109,32,97,32,116,101,114,109,105,110,97,108,46,0],"i8",D);I.$=F([37,115,32,37,115,10,0],"i8",D);I.ba=F([49,46,49,50,0],"i8",D);I.ca=F([67,111,112,121,114,105,103,104,116,32,40,67,41,32,37,115,32,65,110,116,111,110,105,111,32,68,105,97,122,32,68,105,97,122,46,10,0],"i8",D);I.da=F([50,48,49,49,0],"i8",D);I.p=F([76,122,105,112,0],"i8",D);I.fa=F([37,115,32,45,32,68,97,116,97,32,99,111,109,112,114,101,115,115,111,114,32,98,97,115,101,100,32,111,110,32,116,104,101,32,76,90,77,65,32,97,108,103,111,114,105,116,104,109,46,10,0],"i8",D);I.ga=F([10,85,115,97,103,101,58,32,37,115,32,91,111,112,116,105,111,110,115,93,32,91,102,105,108,101,115,93,10,0],"i8",D);I.ja=F([73,102,32,110,111,32,102,105,108,101,32,110,97,109,101,115,32,97,114,101,32,103,105,118,101,110,44,32,37,115,32,99,111,109,112,114,101,115,115,101,115,32,111,114,32,100,101,99,111,109,112,114,101,115,115,101,115,10,0],"i8",D);I.i=F([108,122,105,112,0],"i8",D);R=F(468,["i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"i32",0,0,0,"i32",0,0,0,"i32",0,0,0,"*",0,0,0,"i32",0,0,0,"*",0,0,0,"i32",0,0,0,"*",0,0,0,"i32",0,0,0],D);X=F(24,"i32",D);Nd=F(1,"void ()*",D);Od=F([0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,6,0,0,0],["*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0,"*",0,0,0],D);F(1,"void*",D);I.ea=F([115,116,100,58,58,98,97,100,95,97,108,108,111,99,0],"i8",D);I.A=F([83,116,57,98,97,100,95,97,108,108,111,99,0],"i8",D);Pd=F(12,"*",D);I.na=F([60,60,32,77,111,115,116,32,111,102,32,116,104,101,115,101,32,97,114,101,32,117,110,115,117,112,112,111,114,116,101,100,46,32,67,111,109,112,114,101,115,115,105,110,103,47,100,101,99,111,109,112,114,101,115,115,105,110,103,32,102,114,111,109,32,115,116,100,105,110,32,116,111,32,115,116,100,111,117,116,32,105,115,32,116,104,101,32,114,105,103,104,116,32,119,97,121,33,32,62,62,0],"i8",D);I.oa=F([10,79,112,116,105,111,110,115,58,0],"i8",D);I.za=F([32,32,45,104,44,32,45,45,104,101,108,112,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,100,105,115,112,108,97,121,32,116,104,105,115,32,104,101,108,112,32,97,110,100,32,101,120,105,116,0],"i8",D);I.Ia=F([32,32,45,86,44,32,45,45,118,101,114,115,105,111,110,32,32,32,32,32,32,32,32,32,32,32,32,32,32,111,117,116,112,117,116,32,118,101,114,115,105,111,110,32,105,110,102,111,114,109,97,116,105,111,110,32,97,110,100,32,101,120,105,116,0],"i8",D);I.Ja=F([32,32,45,98,44,32,45,45,109,101,109,98,101,114,45,115,105,122,101,61,60,110,62,32,32,32,32,32,32,115,101,116,32,109,101,109,98,101,114,32,115,105,122,101,32,108,105,109,105,116,32,105,110,32,98,121,116,101,115,0],"i8",D);I.Ka=F([32,32,45,99,44,32,45,45,115,116,100,111,117,116,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,115,101,110,100,32,111,117,116,112,117,116,32,116,111,32,115,116,97,110,100,97,114,100,32,111,117,116,112,117,116,0],"i8",D);I.La=F([32,32,45,100,44,32,45,45,100,101,99,111,109,112,114,101,115,115,32,32,32,32,32,32,32,32,32,32,32,100,101,99,111,109,112,114,101,115,115,0],"i8",D);I.Ma=F([32,32,45,102,44,32,45,45,102,111,114,99,101,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,111,118,101,114,119,114,105,116,101,32,101,120,105,115,116,105,110,103,32,111,117,116,112,117,116,32,102,105,108,101,115,0],"i8",D);I.Na=F([32,32,45,70,44,32,45,45,114,101,99,111,109,112,114,101,115,115,32,32,32,32,32,32,32,32,32,32,32,102,111,114,99,101,32,114,101,99,111,109,112,114,101,115,115,105,111,110,32,111,102,32,99,111,109,112,114,101,115,115,101,100,32,102,105,108,101,115,0],"i8",D);I.Oa=F([32,32,45,107,44,32,45,45,107,101,101,112,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,107,101,101,112,32,40,100,111,110,39,116,32,100,101,108,101,116,101,41,32,105,110,112,117,116,32,102,105,108,101,115,0],"i8",D);I.pa=F([32,32,45,109,44,32,45,45,109,97,116,99,104,45,108,101,110,103,116,104,61,60,110,62,32,32,32,32,32,115,101,116,32,109,97,116,99,104,32,108,101,110,103,116,104,32,108,105,109,105,116,32,105,110,32,98,121,116,101,115,32,91,51,54,93,0],"i8",D);I.qa=F([32,32,45,111,44,32,45,45,111,117,116,112,117,116,61,60,102,105,108,101,62,32,32,32,32,32,32,32,32,105,102,32,114,101,97,100,105,110,103,32,115,116,100,105,110,44,32,112,108,97,99,101,32,116,104,101,32,111,117,116,112,117,116,32,105,110,116,111,32,60,102,105,108,101,62,0],"i8",D);I.ra=F([32,32,45,113,44,32,45,45,113,117,105,101,116,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,115,117,112,112,114,101,115,115,32,97,108,108,32,109,101,115,115,97,103,101,115,0],"i8",D);I.sa=F([32,32,45,115,44,32,45,45,100,105,99,116,105,111,110,97,114,121,45,115,105,122,101,61,60,110,62,32,32,115,101,116,32,100,105,99,116,105,111,110,97,114,121,32,115,105,122,101,32,108,105,109,105,116,32,105,110,32,98,121,116,101,115,32,91,56,77,105,66,93,0],"i8",D);I.ta=F([32,32,45,83,44,32,45,45,118,111,108,117,109,101,45,115,105,122,101,61,60,110,62,32,32,32,32,32,32,115,101,116,32,118,111,108,117,109,101,32,115,105,122,101,32,108,105,109,105,116,32,105,110,32,98,121,116,101,115,0],"i8",D);I.ua=F([32,32,45,116,44,32,45,45,116,101,115,116,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,116,101,115,116,32,99,111,109,112,114,101,115,115,101,100,32,102,105,108,101,32,105,110,116,101,103,114,105,116,121,0],"i8",D);I.va=F([32,32,45,118,44,32,45,45,118,101,114,98,111,115,101,32,32,32,32,32,32,32,32,32,32,32,32,32,32,98,101,32,118,101,114,98,111,115,101,32,40,97,32,50,110,100,32,45,118,32,103,105,118,101,115,32,109,111,114,101,41,0],"i8",D);I.wa=F([32,32,45,48,32,46,46,32,45,57,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,115,101,116,32,99,111,109,112,114,101,115,115,105,111,110,32,108,101,118,101,108,32,91,100,101,102,97,117,108,116,32,54,93,0],"i8",D);I.xa=F([32,32,32,32,32,32,45,45,102,97,115,116,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,97,108,105,97,115,32,102,111,114,32,45,48,0],"i8",D);I.ya=F([32,32,32,32,32,32,45,45,98,101,115,116,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,97,108,105,97,115,32,102,111,114,32,45,57,0],"i8",D);I.Aa=F([102,114,111,109,32,115,116,97,110,100,97,114,100,32,105,110,112,117,116,32,116,111,32,115,116,97,110,100,97,114,100,32,111,117,116,112,117,116,46,0],"i8",D);I.Ba=F([78,117,109,98,101,114,115,32,109,97,121,32,98,101,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,109,117,108,116,105,112,108,105,101,114,58,32,107,32,61,32,107,66,32,61,32,49,48,94,51,32,61,32,49,48,48,48,44,0],"i8",D);I.Ca=F([75,105,32,61,32,75,105,66,32,61,32,50,94,49,48,32,61,32,49,48,50,52,44,32,77,32,61,32,49,48,94,54,44,32,77,105,32,61,32,50,94,50,48,44,32,71,32,61,32,49,48,94,57,44,32,71,105,32,61,32,50,94,51,48,44,32,101,116,99,46,46,46,0],"i8",D);I.Da=F([10,82,101,112,111,114,116,32,98,117,103,115,32,116,111,32,108,122,105,112,45,98,117,103,64,110,111,110,103,110,117,46,111,114,103,0],"i8",D);I.Ea=F([76,122,105,112,32,104,111,109,101,32,112,97,103,101,58,32,104,116,116,112,58,47,47,119,119,119,46,110,111,110,103,110,117,46,111,114,103,47,108,122,105,112,47,108,122,105,112,46,104,116,109,108,0],"i8",D);I.Fa=F([76,105,99,101,110,115,101,32,71,80,76,118,51,43,58,32,71,78,85,32,71,80,76,32,118,101,114,115,105,111,110,32,51,32,111,114,32,108,97,116,101,114,32,60,104,116,116,112,58,47,47,103,110,117,46,111,114,103,47,108,105,99,101,110,115,101,115,47,103,112,108,46,104,116,109,108,62,0],"i8",D);I.Ga=F([84,104,105,115,32,105,115,32,102,114,101,101,32,115,111,102,116,119,97,114,101,58,32,121,111,117,32,97,114,101,32,102,114,101,101,32,116,111,32,99,104,97,110,103,101,32,97,110,100,32,114,101,100,105,115,116,114,105,98,117,116,101,32,105,116,46,0],"i8",D);I.Ha=F([84,104,101,114,101,32,105,115,32,78,79,32,87,65,82,82,65,78,84,89,44,32,116,111,32,116,104,101,32,101,120,116,101,110,116,32,112,101,114,109,105,116,116,101,100,32,98,121,32,108,97,119,46,0],"i8",D);r[vd>>2]=I.O|0;r[vd+4>>2]=I.P|0;r[vd+8>>2]=I.Q|0;r[vd+12>>2]=I.R|0;r[vd+16>>2]=I.S|0;r[vd+20>>2]=I.T|0;r[vd+24>>2]=I.U|0;r[vd+28>>2]=I.V|0;r[Od+4>>2]=Pd;Td=F([2,0,0,0,0],["i8*",0,0,0,0],D);r[Pd>>2]=Td+8|0;r[Pd+4>>2]=I.A|0;r[Pd+8>>2]=ca;lc=[0,0,Ld,0,(function(b){Ld(b);yd(b)}),0,(function(){return I.ea|0}),0];Module.FUNCTION_TABLE=lc;function te(b){b=b||Module.arguments;uc(vc);var d=l;Module._main&&(d=Module.Qa(b),Module.noExitRuntime||uc(yc));return d}Module.run=te;Module.preRun&&Module.preRun();te();Module.postRun&&Module.postRun()
return returnValue;
},
compress: function(data) {
return this.run(data);
},
decompress: function(data) {
return this.run(data, true);
}
};