-
Notifications
You must be signed in to change notification settings - Fork 1
/
zlib-data-cache.js
1 lines (1 loc) · 197 KB
/
zlib-data-cache.js
1
function f(a){throw a;}var i=void 0,l=!0,m=null,n=!1;function p(){return function(){}}var s;s||(s=eval("(function() { try { return Module || {} } catch(e) { return {} } })()"));var aa={},t;for(t in s)s.hasOwnProperty(t)&&(aa[t]=s[t]);var u="object"===typeof process&&"function"===typeof require,ba="object"===typeof window,ca="function"===typeof importScripts,da=!ba&&!u&&!ca; if(u){s.print||(s.print=function(a){process.stdout.write(a+"\n")});s.printErr||(s.printErr=function(a){process.stderr.write(a+"\n")});var ea=require("fs"),fa=require("path");s.read=function(a,b){var a=fa.normalize(a),c=ea.readFileSync(a);!c&&a!=fa.resolve(a)&&(a=path.join(__dirname,"..","src",a),c=ea.readFileSync(a));c&&!b&&(c=c.toString());return c};s.readBinary=function(a){return s.read(a,l)};s.load=function(a){ga(read(a))};s.arguments=process.argv.slice(2);module.exports=s}else da?(s.print||(s.print= print),"undefined"!=typeof printErr&&(s.printErr=printErr),s.read="undefined"!=typeof read?read:function(){f("no read() available (jsc?)")},s.readBinary=function(a){return read(a,"binary")},"undefined"!=typeof scriptArgs?s.arguments=scriptArgs:"undefined"!=typeof arguments&&(s.arguments=arguments),this.Module=s,eval("if (typeof gc === 'function' && gc.toString().indexOf('[native code]') > 0) var gc = undefined")):ba||ca?(s.read=function(a){var b=new XMLHttpRequest;b.open("GET",a,n);b.send(m);return b.responseText}, "undefined"!=typeof arguments&&(s.arguments=arguments),"undefined"!==typeof console?(s.print||(s.print=function(a){console.log(a)}),s.printErr||(s.printErr=function(a){console.log(a)})):s.print||(s.print=p()),ba?window.Module=s:s.load=importScripts):f("Unknown runtime environment. Where are we?");function ga(a){eval.call(m,a)}"undefined"==!s.load&&s.read&&(s.load=function(a){ga(s.read(a))});s.print||(s.print=p());s.printErr||(s.printErr=s.print);s.arguments||(s.arguments=[]);s.print=s.print;s.S=s.printErr; s.preRun=[];s.postRun=[];for(t in aa)aa.hasOwnProperty(t)&&(s[t]=aa[t]); var z={uc:function(a){ha=a},bc:function(){return ha},Wa:function(){return x},Va:function(a){x=a},Ge:function(a,b){b=b||4;return 1==b?a:isNumber(a)&&isNumber(b)?Math.ceil(a/b)*b:isNumber(b)&&isPowerOfTwo(b)?"((("+a+")+"+(b-1)+")&"+-b+")":"Math.ceil(("+a+")/"+b+")*"+b},hc:function(a){return a in z.Pb||a in z.Ob},ic:function(a){return"*"==a[a.length-1]},jc:function(a){return isPointerType(a)?n:isArrayType(a)||/<?\{ ?[^}]* ?\}>?/.test(a)?l:"%"==a[0]},Pb:{i1:0,i8:0,i16:0,i32:0,i64:0},Ob:{"float":0,"double":0}, Xe:function(a,b){return(a|0|b|0)+4294967296*(Math.round(a/4294967296)|Math.round(b/4294967296))},ye:function(a,b){return((a|0)&(b|0))+4294967296*(Math.round(a/4294967296)&Math.round(b/4294967296))},cf:function(a,b){return((a|0)^(b|0))+4294967296*(Math.round(a/4294967296)^Math.round(b/4294967296))},La:function(a){switch(a){case "i1":case "i8":return 1;case "i16":return 2;case "i32":return 4;case "i64":return 8;case "float":return 4;case "double":return 8;default:return"*"===a[a.length-1]?z.P:"i"=== a[0]?(a=parseInt(a.substr(1)),A(0===a%8),a/8):0}},pb:function(a){return Math.max(z.La(a),z.P)},Yb:function(a,b){var c={};return b?a.filter(function(a){return c[a[b]]?n:c[a[b]]=l}):a.filter(function(a){return c[a]?n:c[a]=l})},set:function(){for(var a="object"===typeof arguments[0]?arguments[0]:arguments,b={},c=0;c<a.length;c++)b[a[c]]=0;return b},oe:8,Ka:function(a,b,c){return!c&&("i64"==a||"double"==a)?8:!a?Math.min(b,8):Math.min(b||(a?z.pb(a):0),z.P)},Ub:function(a){a.D=0;a.U=0;var b=[],c=-1,d=0; a.nb=a.Ha.map(function(e){d++;var g,h;z.hc(e)||z.ic(e)?(g=z.La(e),h=z.Ka(e,g)):z.jc(e)?"0"===e[1]?(g=0,h=Types.types[e]?z.Ka(m,Types.types[e].U):a.U||QUANTUM_SIZE):(g=Types.types[e].D,h=z.Ka(m,Types.types[e].U)):"b"==e[0]?(g=e.substr(1)|0,h=1):"<"===e[0]?g=h=Types.types[e].D:"i"===e[0]?(g=h=parseInt(e.substr(1))/8,A(0===g%1,"cannot handle non-byte-size field "+e)):A(n,"invalid type for calculateStructAlignment");a.Ye&&(h=1);a.U=Math.max(a.U,h);e=z.T(a.D,h);a.D=e+g;0<=c&&b.push(e-c);return c=e});a.vb&& "["===a.vb[0]&&(a.D=parseInt(a.vb.substr(1))*a.D/2);a.D=z.T(a.D,a.U);0==b.length?a.mb=a.D:1==z.Yb(b).length&&(a.mb=b[0]);a.Te=1!=a.mb;return a.nb},$b:function(a,b,c){var d,e;if(b){c=c||0;d=("undefined"===typeof Types?z.bf:Types.types)[b];if(!d)return m;if(d.Ha.length!=a.length)return printErr("Number of named fields must match the type for "+b+": possibly duplicate struct names. Cannot return structInfo"),m;e=d.nb}else d={Ha:a.map(function(a){return a[0]})},e=z.Ub(d);var g={qe:d.D};b?a.forEach(function(a, b){if("string"===typeof a)g[a]=e[b]+c;else{var j,w;for(w in a)j=w;g[j]=z.$b(a[j],d.Ha[b],e[b])}}):a.forEach(function(a,b){g[a[1]]=e[b]});return g},Fa:function(a,b,c){return c&&c.length?(c.splice||(c=Array.prototype.slice.call(c)),c.splice(0,0,b),s["dynCall_"+a].apply(m,c)):s["dynCall_"+a].call(m,b)},na:[],re:function(a){for(var b=0;b<z.na.length;b++)if(!z.na[b])return z.na[b]=a,2*(1+b);f("Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.")},$e:function(a){z.na[(a- 2)/2]=m},He:function(a,b){z.Ea||(z.Ea={});var c=z.Ea[a];if(c)return c;for(var c=[],d=0;d<b;d++)c.push(String.fromCharCode(36)+d);d=D(a);'"'===d[0]&&(d.indexOf('"',1)===d.length-1?d=d.substr(1,d.length-2):F("invalid EM_ASM input |"+d+"|. Please use EM_ASM(..code..) (no quotes) or EM_ASM({ ..code($0).. }, input) (to input values)"));try{var e=eval("(function("+c.join(",")+"){ "+d+" })")}catch(g){s.S("error in executing inline EM_ASM code: "+g+" on: \n\n"+d+"\n\nwith args |"+c+"| (make sure to use the right one out of EM_ASM, EM_ASM_ARGS, etc.)"), f(g)}return z.Ea[a]=e},da:function(a){z.da.Ta||(z.da.Ta={});z.da.Ta[a]||(z.da.Ta[a]=1,s.S(a))},Ja:{},Je:function(a,b){A(b);z.Ja[a]||(z.Ja[a]=function(){return z.Fa(b,a,arguments)});return z.Ja[a]},Ca:function(){var a=[],b=0;this.Pa=function(c){c&=255;if(0==a.length){if(0==(c&128))return String.fromCharCode(c);a.push(c);b=192==(c&224)?1:224==(c&240)?2:3;return""}if(b&&(a.push(c),b--,0<b))return"";var c=a[0],d=a[1],e=a[2],g=a[3];2==a.length?c=String.fromCharCode((c&31)<<6|d&63):3==a.length?c=String.fromCharCode((c& 15)<<12|(d&63)<<6|e&63):(c=(c&7)<<18|(d&63)<<12|(e&63)<<6|g&63,c=String.fromCharCode(Math.floor((c-65536)/1024)+55296,(c-65536)%1024+56320));a.length=0;return c};this.pc=function(a){for(var a=unescape(encodeURIComponent(a)),b=[],e=0;e<a.length;e++)b.push(a.charCodeAt(e));return b}},Ie:function(){f("You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work")},Ua:function(a){var b=x;x=x+a|0;x=x+7&-8;return b},Cb:function(a){var b=H;H= H+a|0;H=H+7&-8;return b},ma:function(a){var b=J;J=J+a|0;J=J+7&-8;J>=ia&&F("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+ia+", (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.");return b},T:function(a,b){return Math.ceil(a/(b?b:8))*(b?b:8)},lc:function(a,b,c){return c?+(a>>>0)+4294967296*+(b>>>0):+(a>>>0)+4294967296*+(b|0)}, cb:8,P:4,pe:0};s.Runtime=z;var ja=n,ka,la,ha;function A(a,b){a||F("Assertion failed: "+b)}s.ccall=function(a,b,c,d){return ma(na(a),b,c,d)};function na(a){try{var b=s["_"+a];b||(b=eval("_"+a))}catch(c){}A(b,"Cannot call unknown function "+a+" (perhaps LLVM optimizations or closure removed it?)");return b} function ma(a,b,c,d){function e(a,b){if("string"==b){if(a===m||a===i||0===a)return 0;a=K(a);b="array"}if("array"==b){g||(g=z.Wa());var c=z.Ua(a.length);oa(a,c);return c}return a}var g=0,h=0,d=d?d.map(function(a){return e(a,c[h++])}):[];a=a.apply(m,d);"string"==b?b=D(a):(A("array"!=b),b=a);g&&z.Va(g);return b}s.cwrap=function(a,b,c){var d=na(a);return function(){return ma(d,b,c,Array.prototype.slice.call(arguments))}}; function pa(a,b,c){c=c||"i8";"*"===c.charAt(c.length-1)&&(c="i32");switch(c){case "i1":L[a>>0]=b;break;case "i8":L[a>>0]=b;break;case "i16":qa[a>>1]=b;break;case "i32":M[a>>2]=b;break;case "i64":la=[b>>>0,(ka=b,1<=+ra(ka)?0<ka?(sa(+ta(ka/4294967296),4294967295)|0)>>>0:~~+ua((ka-+(~~ka>>>0))/4294967296)>>>0:0)];M[a>>2]=la[0];M[a+4>>2]=la[1];break;case "float":va[a>>2]=b;break;case "double":wa[a>>3]=b;break;default:F("invalid type for setValue: "+c)}}s.setValue=pa; s.getValue=function(a,b){b=b||"i8";"*"===b.charAt(b.length-1)&&(b="i32");switch(b){case "i1":return L[a>>0];case "i8":return L[a>>0];case "i16":return qa[a>>1];case "i32":return M[a>>2];case "i64":return M[a>>2];case "float":return va[a>>2];case "double":return wa[a>>3];default:F("invalid type for setValue: "+b)}return m};var xa=1,ya=2,za=4;s.ALLOC_NORMAL=0;s.ALLOC_STACK=xa;s.ALLOC_STATIC=ya;s.ALLOC_DYNAMIC=3;s.ALLOC_NONE=za; function N(a,b,c,d){var e,g;"number"===typeof a?(e=l,g=a):(e=n,g=a.length);var h="string"===typeof b?b:m,c=c==za?d:[Aa,z.Ua,z.Cb,z.ma][c===i?ya:c](Math.max(g,h?1:b.length));if(e){d=c;A(0==(c&3));for(a=c+(g&-4);d<a;d+=4)M[d>>2]=0;for(a=c+g;d<a;)L[d++>>0]=0;return c}if("i8"===h)return a.subarray||a.slice?O.set(a,c):O.set(new Uint8Array(a),c),c;for(var d=0,k,j;d<g;){var w=a[d];"function"===typeof w&&(w=z.Ke(w));e=h||b[d];0===e?d++:("i64"==e&&(e="i32"),pa(c+d,w,e),j!==e&&(k=z.La(e),j=e),d+=k)}return c} s.allocate=N;function D(a,b){for(var c=n,d,e=0;;){d=O[a+e>>0];if(128<=d)c=l;else if(0==d&&!b)break;e++;if(b&&e==b)break}b||(b=e);var g="";if(!c){for(;0<b;)d=String.fromCharCode.apply(String,O.subarray(a,a+Math.min(b,1024))),g=g?g+d:d,a+=1024,b-=1024;return g}c=new z.Ca;for(e=0;e<b;e++)d=O[a+e>>0],g+=c.Pa(d);return g}s.Pointer_stringify=D;s.UTF16ToString=function(a){for(var b=0,c="";;){var d=qa[a+2*b>>1];if(0==d)return c;++b;c+=String.fromCharCode(d)}}; s.stringToUTF16=function(a,b){for(var c=0;c<a.length;++c)qa[b+2*c>>1]=a.charCodeAt(c);qa[b+2*a.length>>1]=0};s.UTF32ToString=function(a){for(var b=0,c="";;){var d=M[a+4*b>>2];if(0==d)return c;++b;65536<=d?(d-=65536,c+=String.fromCharCode(55296|d>>10,56320|d&1023)):c+=String.fromCharCode(d)}};s.stringToUTF32=function(a,b){for(var c=0,d=0;d<a.length;++d){var e=a.charCodeAt(d);if(55296<=e&&57343>=e)var g=a.charCodeAt(++d),e=65536+((e&1023)<<10)|g&1023;M[b+4*c>>2]=e;++c}M[b+4*c>>2]=0}; function Ba(a){function b(h,j,w){var j=j||Infinity,E="",q=[],v;if("N"===a[c]){c++;"K"===a[c]&&c++;for(v=[];"E"!==a[c];)if("S"===a[c]){c++;var C=a.indexOf("_",c);v.push(e[a.substring(c,C)||0]||"?");c=C+1}else if("C"===a[c])v.push(v[v.length-1]),c+=2;else{var C=parseInt(a.substr(c)),G=C.toString().length;if(!C||!G){c--;break}var I=a.substr(c+G,C);v.push(I);e.push(I);c+=G+C}c++;v=v.join("::");j--;if(0===j)return h?[v]:v}else if(("K"===a[c]||g&&"L"===a[c])&&c++,C=parseInt(a.substr(c)))G=C.toString().length, v=a.substr(c+G,C),c+=G+C;g=n;"I"===a[c]?(c++,C=b(l),G=b(l,1,l),E+=G[0]+" "+v+"<"+C.join(", ")+">"):E=v;a:for(;c<a.length&&0<j--;)if(v=a[c++],v in d)q.push(d[v]);else switch(v){case "P":q.push(b(l,1,l)[0]+"*");break;case "R":q.push(b(l,1,l)[0]+"&");break;case "L":c++;C=a.indexOf("E",c)-c;q.push(a.substr(c,C));c+=C+2;break;case "A":C=parseInt(a.substr(c));c+=C.toString().length;"_"!==a[c]&&f("?");c++;q.push(b(l,1,l)[0]+" ["+C+"]");break;case "E":break a;default:E+="?"+v;break a}!w&&(1===q.length&&"void"=== q[0])&&(q=[]);return h?(E&&q.push(E+"?"),q):E+("("+q.join(", ")+")")}var c=3,d={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},e=[],g=l;try{if("Object._main"==a||"_main"==a)return"main()";"number"===typeof a&&(a=D(a));if("_"!==a[0]||"_"!==a[1]||"Z"!==a[2])return a;switch(a[3]){case "n":return"operator new()";case "d":return"operator delete()"}return b()}catch(h){return a}} function Ca(){var a=Error().stack;return a?a.replace(/__Z[\w\d_]+/g,function(a){var c=Ba(a);return a===c?a:a+" ["+c+"]"}):"(no stack trace available)"}for(var L,O,qa,Da,M,Ea,va,wa,Fa=0,H=0,Ga=0,x=0,Ha=0,Ia=0,J=0,Ja=s.TOTAL_STACK||5242880,ia=s.TOTAL_MEMORY||134217728,P=4096;P<ia||P<2*Ja;)P=16777216>P?2*P:P+16777216;P!==ia&&(s.S("increasing TOTAL_MEMORY to "+P+" to be more reasonable"),ia=P); A("undefined"!==typeof Int32Array&&"undefined"!==typeof Float64Array&&!!(new Int32Array(1)).subarray&&!!(new Int32Array(1)).set,"JS engine does not provide full typed array support");var Q=new ArrayBuffer(ia);L=new Int8Array(Q);qa=new Int16Array(Q);M=new Int32Array(Q);O=new Uint8Array(Q);Da=new Uint16Array(Q);Ea=new Uint32Array(Q);va=new Float32Array(Q);wa=new Float64Array(Q);M[0]=255;A(255===O[0]&&0===O[3],"Typed arrays 2 must be run on a little-endian system");s.HEAP=i;s.HEAP8=L;s.HEAP16=qa; s.HEAP32=M;s.HEAPU8=O;s.HEAPU16=Da;s.HEAPU32=Ea;s.HEAPF32=va;s.HEAPF64=wa;function Ka(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b();else{var c=b.V;"number"===typeof c?b.Da===i?z.Fa("v",c):z.Fa("vi",c,[b.Da]):c(b.Da===i?m:b.Da)}}}var La=[],Ma=[],Na=[],Oa=[],Pa=[],Qa=n;function Ra(a){La.unshift(a)}s.addOnPreRun=s.we=Ra;s.addOnInit=s.te=function(a){Ma.unshift(a)};s.addOnPreMain=s.ve=function(a){Na.unshift(a)};s.addOnExit=s.se=function(a){Oa.unshift(a)}; function Sa(a){Pa.unshift(a)}s.addOnPostRun=s.ue=Sa;function K(a,b,c){a=(new z.Ca).pc(a);c&&(a.length=c);b||a.push(0);return a}s.intArrayFromString=K;s.intArrayToString=function(a){for(var b=[],c=0;c<a.length;c++){var d=a[c];255<d&&(d&=255);b.push(String.fromCharCode(d))}return b.join("")};s.writeStringToMemory=function(a,b,c){a=K(a,c);for(c=0;c<a.length;)L[b+c>>0]=a[c],c+=1};function oa(a,b){for(var c=0;c<a.length;c++)L[b+c>>0]=a[c]}s.writeArrayToMemory=oa; s.writeAsciiToMemory=function(a,b,c){for(var d=0;d<a.length;d++)L[b+d>>0]=a.charCodeAt(d);c||(L[b+a.length>>0]=0)};function Ta(a,b){return 0<=a?a:32>=b?2*Math.abs(1<<b-1)+a:Math.pow(2,b)+a}function Ua(a,b){if(0>=a)return a;var c=32>=b?Math.abs(1<<b-1):Math.pow(2,b-1);if(a>=c&&(32>=b||a>c))a=-2*c+a;return a}if(!Math.imul||-5!==Math.imul(4294967295,5))Math.imul=function(a,b){var c=a&65535,d=b&65535;return c*d+((a>>>16)*d+c*(b>>>16)<<16)|0};Math.Ne=Math.imul; var ra=Math.abs,ua=Math.ceil,ta=Math.floor,sa=Math.min,R=0,Va=m,Wa=m;function Xa(){R++;s.monitorRunDependencies&&s.monitorRunDependencies(R)}s.addRunDependency=Xa;function Ya(){R--;s.monitorRunDependencies&&s.monitorRunDependencies(R);if(0==R&&(Va!==m&&(clearInterval(Va),Va=m),Wa)){var a=Wa;Wa=m;a()}}s.removeRunDependency=Ya;s.preloadedImages={};s.preloadedAudios={};Fa=8;H=Fa+z.T(14963);Ma.push(); N([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,105,122,101,115,58,32,37,100,44,37,100,10,0,0,0,100,101,99,111,109,112,114,101,115,115,101,100,83,105,122,101,32,61,61,32,115,105,122,101,0,0,0,0,0,0,0,0,47,116,109,112,47,101,109,115,99,114,105,112,116,101,110,95,116,101,109,112,47,122,108,105,98,46,99,0,0,0,0,0,100,111,105,116,0,0,0,0,115,116,114,99,109,112,40,98,117,102,102,101,114,44,32,98,117,102,102,101,114,51,41,32,61,61,32,48,0,0,0,0,101,114,114,111,114,58,32,37,100,92,110,0,0,0,0,0,111,107,46,0,0,0, 0,0,49,46,50,46,53,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,4,0,8,0,4,0,2,0,0,0,4,0,5,0,16,0,8,0,2,0,0,0,4,0,6,0,32,0,32,0,2,0,0,0,4,0,4,0,16,0,16,0,3,0,0,0,8,0,16,0,32,0,32,0,3,0,0,0,8,0,16,0,128,0,128,0,3,0,0,0,8,0,32,0,128,0,0,1,3,0,0,0,32,0,128,0,2,1,0,4,3,0,0,0,32,0,2,1,2,1,0,16,3,0,0,0,0,1,2,3,4,4,5,5,6,6,6,6,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12, 12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, 15,15,15,15,15,15,0,0,16,17,18,18,19,19,20,20,20,20,21,21,21,21,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,0,1,2,3,4,5,6,7,8,8,9,9,10,10,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,16,16,16,16,17,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20, 20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27, 27,27,27,27,27,27,27,27,27,27,27,28,112,4,0,0,104,9,0,0,1,1,0,0,30,1,0,0,15,0,0,0,0,0,0,0,240,8,0,0,88,10,0,0,0,0,0,0,30,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,96,11,0,0,0,0,0,0,19,0,0,0,7,0,0,0,0,0,0,0,12,0,8,0,140,0,8,0,76,0,8,0,204,0,8,0,44,0,8,0,172,0,8,0,108,0,8,0,236,0,8,0,28,0,8,0,156,0,8,0,92,0,8,0,220,0,8,0,60,0,8,0,188,0,8,0,124,0,8,0,252,0,8,0,2,0,8,0,130,0,8,0,66,0,8,0,194,0,8,0,34,0,8,0,162,0,8,0,98,0,8,0,226,0,8,0,18,0,8,0,146,0,8,0,82,0,8,0,210,0,8,0,50,0,8,0,178,0,8,0,114,0,8,0,242,0,8,0, 10,0,8,0,138,0,8,0,74,0,8,0,202,0,8,0,42,0,8,0,170,0,8,0,106,0,8,0,234,0,8,0,26,0,8,0,154,0,8,0,90,0,8,0,218,0,8,0,58,0,8,0,186,0,8,0,122,0,8,0,250,0,8,0,6,0,8,0,134,0,8,0,70,0,8,0,198,0,8,0,38,0,8,0,166,0,8,0,102,0,8,0,230,0,8,0,22,0,8,0,150,0,8,0,86,0,8,0,214,0,8,0,54,0,8,0,182,0,8,0,118,0,8,0,246,0,8,0,14,0,8,0,142,0,8,0,78,0,8,0,206,0,8,0,46,0,8,0,174,0,8,0,110,0,8,0,238,0,8,0,30,0,8,0,158,0,8,0,94,0,8,0,222,0,8,0,62,0,8,0,190,0,8,0,126,0,8,0,254,0,8,0,1,0,8,0,129,0,8,0,65,0,8,0,193,0,8,0,33, 0,8,0,161,0,8,0,97,0,8,0,225,0,8,0,17,0,8,0,145,0,8,0,81,0,8,0,209,0,8,0,49,0,8,0,177,0,8,0,113,0,8,0,241,0,8,0,9,0,8,0,137,0,8,0,73,0,8,0,201,0,8,0,41,0,8,0,169,0,8,0,105,0,8,0,233,0,8,0,25,0,8,0,153,0,8,0,89,0,8,0,217,0,8,0,57,0,8,0,185,0,8,0,121,0,8,0,249,0,8,0,5,0,8,0,133,0,8,0,69,0,8,0,197,0,8,0,37,0,8,0,165,0,8,0,101,0,8,0,229,0,8,0,21,0,8,0,149,0,8,0,85,0,8,0,213,0,8,0,53,0,8,0,181,0,8,0,117,0,8,0,245,0,8,0,13,0,8,0,141,0,8,0,77,0,8,0,205,0,8,0,45,0,8,0,173,0,8,0,109,0,8,0,237,0,8,0,29,0,8, 0,157,0,8,0,93,0,8,0,221,0,8,0,61,0,8,0,189,0,8,0,125,0,8,0,253,0,8,0,19,0,9,0,19,1,9,0,147,0,9,0,147,1,9,0,83,0,9,0,83,1,9,0,211,0,9,0,211,1,9,0,51,0,9,0,51,1,9,0,179,0,9,0,179,1,9,0,115,0,9,0,115,1,9,0,243,0,9,0,243,1,9,0,11,0,9,0,11,1,9,0,139,0,9,0,139,1,9,0,75,0,9,0,75,1,9,0,203,0,9,0,203,1,9,0,43,0,9,0,43,1,9,0,171,0,9,0,171,1,9,0,107,0,9,0,107,1,9,0,235,0,9,0,235,1,9,0,27,0,9,0,27,1,9,0,155,0,9,0,155,1,9,0,91,0,9,0,91,1,9,0,219,0,9,0,219,1,9,0,59,0,9,0,59,1,9,0,187,0,9,0,187,1,9,0,123,0,9,0, 123,1,9,0,251,0,9,0,251,1,9,0,7,0,9,0,7,1,9,0,135,0,9,0,135,1,9,0,71,0,9,0,71,1,9,0,199,0,9,0,199,1,9,0,39,0,9,0,39,1,9,0,167,0,9,0,167,1,9,0,103,0,9,0,103,1,9,0,231,0,9,0,231,1,9,0,23,0,9,0,23,1,9,0,151,0,9,0,151,1,9,0,87,0,9,0,87,1,9,0,215,0,9,0,215,1,9,0,55,0,9,0,55,1,9,0,183,0,9,0,183,1,9,0,119,0,9,0,119,1,9,0,247,0,9,0,247,1,9,0,15,0,9,0,15,1,9,0,143,0,9,0,143,1,9,0,79,0,9,0,79,1,9,0,207,0,9,0,207,1,9,0,47,0,9,0,47,1,9,0,175,0,9,0,175,1,9,0,111,0,9,0,111,1,9,0,239,0,9,0,239,1,9,0,31,0,9,0,31, 1,9,0,159,0,9,0,159,1,9,0,95,0,9,0,95,1,9,0,223,0,9,0,223,1,9,0,63,0,9,0,63,1,9,0,191,0,9,0,191,1,9,0,127,0,9,0,127,1,9,0,255,0,9,0,255,1,9,0,0,0,7,0,64,0,7,0,32,0,7,0,96,0,7,0,16,0,7,0,80,0,7,0,48,0,7,0,112,0,7,0,8,0,7,0,72,0,7,0,40,0,7,0,104,0,7,0,24,0,7,0,88,0,7,0,56,0,7,0,120,0,7,0,4,0,7,0,68,0,7,0,36,0,7,0,100,0,7,0,20,0,7,0,84,0,7,0,52,0,7,0,116,0,7,0,3,0,8,0,131,0,8,0,67,0,8,0,195,0,8,0,35,0,8,0,163,0,8,0,99,0,8,0,227,0,8,0,0,0,5,0,16,0,5,0,8,0,5,0,24,0,5,0,4,0,5,0,20,0,5,0,12,0,5,0,28,0,5, 0,2,0,5,0,18,0,5,0,10,0,5,0,26,0,5,0,6,0,5,0,22,0,5,0,14,0,5,0,30,0,5,0,1,0,5,0,17,0,5,0,9,0,5,0,25,0,5,0,5,0,5,0,21,0,5,0,13,0,5,0,29,0,5,0,3,0,5,0,19,0,5,0,11,0,5,0,27,0,5,0,7,0,5,0,23,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0, 0,0,10,0,0,0,12,0,0,0,14,0,0,0,16,0,0,0,20,0,0,0,24,0,0,0,28,0,0,0,32,0,0,0,40,0,0,0,48,0,0,0,56,0,0,0,64,0,0,0,80,0,0,0,96,0,0,0,112,0,0,0,128,0,0,0,160,0,0,0,192,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,12, 0,0,0,16,0,0,0,24,0,0,0,32,0,0,0,48,0,0,0,64,0,0,0,96,0,0,0,128,0,0,0,192,0,0,0,0,1,0,0,128,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,12,0,0,0,16,0,0,0,24,0,0,0,32,0,0,0,48,0,0,0,64,0,0,0,96,0,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,0,0,0,0,49,46,50,46,53,0,0,0,110,101,101,100,32,100,105,99,116,105,111,110,97,114,121,0,115, 116,114,101,97,109,32,101,110,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,105,108,101,32,101,114,114,111,114,0,0,0,0,0,0,115,116,114,101,97,109,32,101,114,114,111,114,0,0,0,0,100,97,116,97,32,101,114,114,111,114,0,0,0,0,0,0,105,110,115,117,102,102,105,99,105,101,110,116,32,109,101,109,111,114,121,0,0,0,0,0,98,117,102,102,101,114,32,101,114,114,111,114,0,0,0,0,105,110,99,111,109,112,97,116,105,98,108,101,32,118,101,114,115,105,111,110,0,0,0,0,184,11,0,0,200,11,0,0,216,11,0,0,224,11,0,0,240,11,0,0,0,12,0,0, 16,12,0,0,40,12,0,0,56,12,0,0,216,11,0,0,0,0,0,0,150,48,7,119,44,97,14,238,186,81,9,153,25,196,109,7,143,244,106,112,53,165,99,233,163,149,100,158,50,136,219,14,164,184,220,121,30,233,213,224,136,217,210,151,43,76,182,9,189,124,177,126,7,45,184,231,145,29,191,144,100,16,183,29,242,32,176,106,72,113,185,243,222,65,190,132,125,212,218,26,235,228,221,109,81,181,212,244,199,133,211,131,86,152,108,19,192,168,107,100,122,249,98,253,236,201,101,138,79,92,1,20,217,108,6,99,99,61,15,250,245,13,8,141,200,32, 110,59,94,16,105,76,228,65,96,213,114,113,103,162,209,228,3,60,71,212,4,75,253,133,13,210,107,181,10,165,250,168,181,53,108,152,178,66,214,201,187,219,64,249,188,172,227,108,216,50,117,92,223,69,207,13,214,220,89,61,209,171,172,48,217,38,58,0,222,81,128,81,215,200,22,97,208,191,181,244,180,33,35,196,179,86,153,149,186,207,15,165,189,184,158,184,2,40,8,136,5,95,178,217,12,198,36,233,11,177,135,124,111,47,17,76,104,88,171,29,97,193,61,45,102,182,144,65,220,118,6,113,219,1,188,32,210,152,42,16,213,239, 137,133,177,113,31,181,182,6,165,228,191,159,51,212,184,232,162,201,7,120,52,249,0,15,142,168,9,150,24,152,14,225,187,13,106,127,45,61,109,8,151,108,100,145,1,92,99,230,244,81,107,107,98,97,108,28,216,48,101,133,78,0,98,242,237,149,6,108,123,165,1,27,193,244,8,130,87,196,15,245,198,217,176,101,80,233,183,18,234,184,190,139,124,136,185,252,223,29,221,98,73,45,218,21,243,124,211,140,101,76,212,251,88,97,178,77,206,81,181,58,116,0,188,163,226,48,187,212,65,165,223,74,215,149,216,61,109,196,209,164,251, 244,214,211,106,233,105,67,252,217,110,52,70,136,103,173,208,184,96,218,115,45,4,68,229,29,3,51,95,76,10,170,201,124,13,221,60,113,5,80,170,65,2,39,16,16,11,190,134,32,12,201,37,181,104,87,179,133,111,32,9,212,102,185,159,228,97,206,14,249,222,94,152,201,217,41,34,152,208,176,180,168,215,199,23,61,179,89,129,13,180,46,59,92,189,183,173,108,186,192,32,131,184,237,182,179,191,154,12,226,182,3,154,210,177,116,57,71,213,234,175,119,210,157,21,38,219,4,131,22,220,115,18,11,99,227,132,59,100,148,62,106, 109,13,168,90,106,122,11,207,14,228,157,255,9,147,39,174,0,10,177,158,7,125,68,147,15,240,210,163,8,135,104,242,1,30,254,194,6,105,93,87,98,247,203,103,101,128,113,54,108,25,231,6,107,110,118,27,212,254,224,43,211,137,90,122,218,16,204,74,221,103,111,223,185,249,249,239,190,142,67,190,183,23,213,142,176,96,232,163,214,214,126,147,209,161,196,194,216,56,82,242,223,79,241,103,187,209,103,87,188,166,221,6,181,63,75,54,178,72,218,43,13,216,76,27,10,175,246,74,3,54,96,122,4,65,195,239,96,223,85,223,103, 168,239,142,110,49,121,190,105,70,140,179,97,203,26,131,102,188,160,210,111,37,54,226,104,82,149,119,12,204,3,71,11,187,185,22,2,34,47,38,5,85,190,59,186,197,40,11,189,178,146,90,180,43,4,106,179,92,167,255,215,194,49,207,208,181,139,158,217,44,29,174,222,91,176,194,100,155,38,242,99,236,156,163,106,117,10,147,109,2,169,6,9,156,63,54,14,235,133,103,7,114,19,87,0,5,130,74,191,149,20,122,184,226,174,43,177,123,56,27,182,12,155,142,210,146,13,190,213,229,183,239,220,124,33,223,219,11,212,210,211,134, 66,226,212,241,248,179,221,104,110,131,218,31,205,22,190,129,91,38,185,246,225,119,176,111,119,71,183,24,230,90,8,136,112,106,15,255,202,59,6,102,92,11,1,17,255,158,101,143,105,174,98,248,211,255,107,97,69,207,108,22,120,226,10,160,238,210,13,215,84,131,4,78,194,179,3,57,97,38,103,167,247,22,96,208,77,71,105,73,219,119,110,62,74,106,209,174,220,90,214,217,102,11,223,64,240,59,216,55,83,174,188,169,197,158,187,222,127,207,178,71,233,255,181,48,28,242,189,189,138,194,186,202,48,147,179,83,166,163,180, 36,5,54,208,186,147,6,215,205,41,87,222,84,191,103,217,35,46,122,102,179,184,74,97,196,2,27,104,93,148,43,111,42,55,190,11,180,161,142,12,195,27,223,5,90,141,239,2,45,0,0,0,0,65,49,27,25,130,98,54,50,195,83,45,43,4,197,108,100,69,244,119,125,134,167,90,86,199,150,65,79,8,138,217,200,73,187,194,209,138,232,239,250,203,217,244,227,12,79,181,172,77,126,174,181,142,45,131,158,207,28,152,135,81,18,194,74,16,35,217,83,211,112,244,120,146,65,239,97,85,215,174,46,20,230,181,55,215,181,152,28,150,132,131, 5,89,152,27,130,24,169,0,155,219,250,45,176,154,203,54,169,93,93,119,230,28,108,108,255,223,63,65,212,158,14,90,205,162,36,132,149,227,21,159,140,32,70,178,167,97,119,169,190,166,225,232,241,231,208,243,232,36,131,222,195,101,178,197,218,170,174,93,93,235,159,70,68,40,204,107,111,105,253,112,118,174,107,49,57,239,90,42,32,44,9,7,11,109,56,28,18,243,54,70,223,178,7,93,198,113,84,112,237,48,101,107,244,247,243,42,187,182,194,49,162,117,145,28,137,52,160,7,144,251,188,159,23,186,141,132,14,121,222,169, 37,56,239,178,60,255,121,243,115,190,72,232,106,125,27,197,65,60,42,222,88,5,79,121,240,68,126,98,233,135,45,79,194,198,28,84,219,1,138,21,148,64,187,14,141,131,232,35,166,194,217,56,191,13,197,160,56,76,244,187,33,143,167,150,10,206,150,141,19,9,0,204,92,72,49,215,69,139,98,250,110,202,83,225,119,84,93,187,186,21,108,160,163,214,63,141,136,151,14,150,145,80,152,215,222,17,169,204,199,210,250,225,236,147,203,250,245,92,215,98,114,29,230,121,107,222,181,84,64,159,132,79,89,88,18,14,22,25,35,21,15, 218,112,56,36,155,65,35,61,167,107,253,101,230,90,230,124,37,9,203,87,100,56,208,78,163,174,145,1,226,159,138,24,33,204,167,51,96,253,188,42,175,225,36,173,238,208,63,180,45,131,18,159,108,178,9,134,171,36,72,201,234,21,83,208,41,70,126,251,104,119,101,226,246,121,63,47,183,72,36,54,116,27,9,29,53,42,18,4,242,188,83,75,179,141,72,82,112,222,101,121,49,239,126,96,254,243,230,231,191,194,253,254,124,145,208,213,61,160,203,204,250,54,138,131,187,7,145,154,120,84,188,177,57,101,167,168,75,152,131,59, 10,169,152,34,201,250,181,9,136,203,174,16,79,93,239,95,14,108,244,70,205,63,217,109,140,14,194,116,67,18,90,243,2,35,65,234,193,112,108,193,128,65,119,216,71,215,54,151,6,230,45,142,197,181,0,165,132,132,27,188,26,138,65,113,91,187,90,104,152,232,119,67,217,217,108,90,30,79,45,21,95,126,54,12,156,45,27,39,221,28,0,62,18,0,152,185,83,49,131,160,144,98,174,139,209,83,181,146,22,197,244,221,87,244,239,196,148,167,194,239,213,150,217,246,233,188,7,174,168,141,28,183,107,222,49,156,42,239,42,133,237, 121,107,202,172,72,112,211,111,27,93,248,46,42,70,225,225,54,222,102,160,7,197,127,99,84,232,84,34,101,243,77,229,243,178,2,164,194,169,27,103,145,132,48,38,160,159,41,184,174,197,228,249,159,222,253,58,204,243,214,123,253,232,207,188,107,169,128,253,90,178,153,62,9,159,178,127,56,132,171,176,36,28,44,241,21,7,53,50,70,42,30,115,119,49,7,180,225,112,72,245,208,107,81,54,131,70,122,119,178,93,99,78,215,250,203,15,230,225,210,204,181,204,249,141,132,215,224,74,18,150,175,11,35,141,182,200,112,160,157, 137,65,187,132,70,93,35,3,7,108,56,26,196,63,21,49,133,14,14,40,66,152,79,103,3,169,84,126,192,250,121,85,129,203,98,76,31,197,56,129,94,244,35,152,157,167,14,179,220,150,21,170,27,0,84,229,90,49,79,252,153,98,98,215,216,83,121,206,23,79,225,73,86,126,250,80,149,45,215,123,212,28,204,98,19,138,141,45,82,187,150,52,145,232,187,31,208,217,160,6,236,243,126,94,173,194,101,71,110,145,72,108,47,160,83,117,232,54,18,58,169,7,9,35,106,84,36,8,43,101,63,17,228,121,167,150,165,72,188,143,102,27,145,164,39, 42,138,189,224,188,203,242,161,141,208,235,98,222,253,192,35,239,230,217,189,225,188,20,252,208,167,13,63,131,138,38,126,178,145,63,185,36,208,112,248,21,203,105,59,70,230,66,122,119,253,91,181,107,101,220,244,90,126,197,55,9,83,238,118,56,72,247,177,174,9,184,240,159,18,161,51,204,63,138,114,253,36,147,0,0,0,0,55,106,194,1,110,212,132,3,89,190,70,2,220,168,9,7,235,194,203,6,178,124,141,4,133,22,79,5,184,81,19,14,143,59,209,15,214,133,151,13,225,239,85,12,100,249,26,9,83,147,216,8,10,45,158,10,61, 71,92,11,112,163,38,28,71,201,228,29,30,119,162,31,41,29,96,30,172,11,47,27,155,97,237,26,194,223,171,24,245,181,105,25,200,242,53,18,255,152,247,19,166,38,177,17,145,76,115,16,20,90,60,21,35,48,254,20,122,142,184,22,77,228,122,23,224,70,77,56,215,44,143,57,142,146,201,59,185,248,11,58,60,238,68,63,11,132,134,62,82,58,192,60,101,80,2,61,88,23,94,54,111,125,156,55,54,195,218,53,1,169,24,52,132,191,87,49,179,213,149,48,234,107,211,50,221,1,17,51,144,229,107,36,167,143,169,37,254,49,239,39,201,91,45, 38,76,77,98,35,123,39,160,34,34,153,230,32,21,243,36,33,40,180,120,42,31,222,186,43,70,96,252,41,113,10,62,40,244,28,113,45,195,118,179,44,154,200,245,46,173,162,55,47,192,141,154,112,247,231,88,113,174,89,30,115,153,51,220,114,28,37,147,119,43,79,81,118,114,241,23,116,69,155,213,117,120,220,137,126,79,182,75,127,22,8,13,125,33,98,207,124,164,116,128,121,147,30,66,120,202,160,4,122,253,202,198,123,176,46,188,108,135,68,126,109,222,250,56,111,233,144,250,110,108,134,181,107,91,236,119,106,2,82,49, 104,53,56,243,105,8,127,175,98,63,21,109,99,102,171,43,97,81,193,233,96,212,215,166,101,227,189,100,100,186,3,34,102,141,105,224,103,32,203,215,72,23,161,21,73,78,31,83,75,121,117,145,74,252,99,222,79,203,9,28,78,146,183,90,76,165,221,152,77,152,154,196,70,175,240,6,71,246,78,64,69,193,36,130,68,68,50,205,65,115,88,15,64,42,230,73,66,29,140,139,67,80,104,241,84,103,2,51,85,62,188,117,87,9,214,183,86,140,192,248,83,187,170,58,82,226,20,124,80,213,126,190,81,232,57,226,90,223,83,32,91,134,237,102,89, 177,135,164,88,52,145,235,93,3,251,41,92,90,69,111,94,109,47,173,95,128,27,53,225,183,113,247,224,238,207,177,226,217,165,115,227,92,179,60,230,107,217,254,231,50,103,184,229,5,13,122,228,56,74,38,239,15,32,228,238,86,158,162,236,97,244,96,237,228,226,47,232,211,136,237,233,138,54,171,235,189,92,105,234,240,184,19,253,199,210,209,252,158,108,151,254,169,6,85,255,44,16,26,250,27,122,216,251,66,196,158,249,117,174,92,248,72,233,0,243,127,131,194,242,38,61,132,240,17,87,70,241,148,65,9,244,163,43,203, 245,250,149,141,247,205,255,79,246,96,93,120,217,87,55,186,216,14,137,252,218,57,227,62,219,188,245,113,222,139,159,179,223,210,33,245,221,229,75,55,220,216,12,107,215,239,102,169,214,182,216,239,212,129,178,45,213,4,164,98,208,51,206,160,209,106,112,230,211,93,26,36,210,16,254,94,197,39,148,156,196,126,42,218,198,73,64,24,199,204,86,87,194,251,60,149,195,162,130,211,193,149,232,17,192,168,175,77,203,159,197,143,202,198,123,201,200,241,17,11,201,116,7,68,204,67,109,134,205,26,211,192,207,45,185,2, 206,64,150,175,145,119,252,109,144,46,66,43,146,25,40,233,147,156,62,166,150,171,84,100,151,242,234,34,149,197,128,224,148,248,199,188,159,207,173,126,158,150,19,56,156,161,121,250,157,36,111,181,152,19,5,119,153,74,187,49,155,125,209,243,154,48,53,137,141,7,95,75,140,94,225,13,142,105,139,207,143,236,157,128,138,219,247,66,139,130,73,4,137,181,35,198,136,136,100,154,131,191,14,88,130,230,176,30,128,209,218,220,129,84,204,147,132,99,166,81,133,58,24,23,135,13,114,213,134,160,208,226,169,151,186,32, 168,206,4,102,170,249,110,164,171,124,120,235,174,75,18,41,175,18,172,111,173,37,198,173,172,24,129,241,167,47,235,51,166,118,85,117,164,65,63,183,165,196,41,248,160,243,67,58,161,170,253,124,163,157,151,190,162,208,115,196,181,231,25,6,180,190,167,64,182,137,205,130,183,12,219,205,178,59,177,15,179,98,15,73,177,85,101,139,176,104,34,215,187,95,72,21,186,6,246,83,184,49,156,145,185,180,138,222,188,131,224,28,189,218,94,90,191,237,52,152,190,0,0,0,0,101,103,188,184,139,200,9,170,238,175,181,18,87, 151,98,143,50,240,222,55,220,95,107,37,185,56,215,157,239,40,180,197,138,79,8,125,100,224,189,111,1,135,1,215,184,191,214,74,221,216,106,242,51,119,223,224,86,16,99,88,159,87,25,80,250,48,165,232,20,159,16,250,113,248,172,66,200,192,123,223,173,167,199,103,67,8,114,117,38,111,206,205,112,127,173,149,21,24,17,45,251,183,164,63,158,208,24,135,39,232,207,26,66,143,115,162,172,32,198,176,201,71,122,8,62,175,50,160,91,200,142,24,181,103,59,10,208,0,135,178,105,56,80,47,12,95,236,151,226,240,89,133,135, 151,229,61,209,135,134,101,180,224,58,221,90,79,143,207,63,40,51,119,134,16,228,234,227,119,88,82,13,216,237,64,104,191,81,248,161,248,43,240,196,159,151,72,42,48,34,90,79,87,158,226,246,111,73,127,147,8,245,199,125,167,64,213,24,192,252,109,78,208,159,53,43,183,35,141,197,24,150,159,160,127,42,39,25,71,253,186,124,32,65,2,146,143,244,16,247,232,72,168,61,88,20,155,88,63,168,35,182,144,29,49,211,247,161,137,106,207,118,20,15,168,202,172,225,7,127,190,132,96,195,6,210,112,160,94,183,23,28,230,89,184, 169,244,60,223,21,76,133,231,194,209,224,128,126,105,14,47,203,123,107,72,119,195,162,15,13,203,199,104,177,115,41,199,4,97,76,160,184,217,245,152,111,68,144,255,211,252,126,80,102,238,27,55,218,86,77,39,185,14,40,64,5,182,198,239,176,164,163,136,12,28,26,176,219,129,127,215,103,57,145,120,210,43,244,31,110,147,3,247,38,59,102,144,154,131,136,63,47,145,237,88,147,41,84,96,68,180,49,7,248,12,223,168,77,30,186,207,241,166,236,223,146,254,137,184,46,70,103,23,155,84,2,112,39,236,187,72,240,113,222,47, 76,201,48,128,249,219,85,231,69,99,156,160,63,107,249,199,131,211,23,104,54,193,114,15,138,121,203,55,93,228,174,80,225,92,64,255,84,78,37,152,232,246,115,136,139,174,22,239,55,22,248,64,130,4,157,39,62,188,36,31,233,33,65,120,85,153,175,215,224,139,202,176,92,51,59,182,89,237,94,209,229,85,176,126,80,71,213,25,236,255,108,33,59,98,9,70,135,218,231,233,50,200,130,142,142,112,212,158,237,40,177,249,81,144,95,86,228,130,58,49,88,58,131,9,143,167,230,110,51,31,8,193,134,13,109,166,58,181,164,225,64, 189,193,134,252,5,47,41,73,23,74,78,245,175,243,118,34,50,150,17,158,138,120,190,43,152,29,217,151,32,75,201,244,120,46,174,72,192,192,1,253,210,165,102,65,106,28,94,150,247,121,57,42,79,151,150,159,93,242,241,35,229,5,25,107,77,96,126,215,245,142,209,98,231,235,182,222,95,82,142,9,194,55,233,181,122,217,70,0,104,188,33,188,208,234,49,223,136,143,86,99,48,97,249,214,34,4,158,106,154,189,166,189,7,216,193,1,191,54,110,180,173,83,9,8,21,154,78,114,29,255,41,206,165,17,134,123,183,116,225,199,15,205, 217,16,146,168,190,172,42,70,17,25,56,35,118,165,128,117,102,198,216,16,1,122,96,254,174,207,114,155,201,115,202,34,241,164,87,71,150,24,239,169,57,173,253,204,94,17,69,6,238,77,118,99,137,241,206,141,38,68,220,232,65,248,100,81,121,47,249,52,30,147,65,218,177,38,83,191,214,154,235,233,198,249,179,140,161,69,11,98,14,240,25,7,105,76,161,190,81,155,60,219,54,39,132,53,153,146,150,80,254,46,46,153,185,84,38,252,222,232,158,18,113,93,140,119,22,225,52,206,46,54,169,171,73,138,17,69,230,63,3,32,129,131, 187,118,145,224,227,19,246,92,91,253,89,233,73,152,62,85,241,33,6,130,108,68,97,62,212,170,206,139,198,207,169,55,126,56,65,127,214,93,38,195,110,179,137,118,124,214,238,202,196,111,214,29,89,10,177,161,225,228,30,20,243,129,121,168,75,215,105,203,19,178,14,119,171,92,161,194,185,57,198,126,1,128,254,169,156,229,153,21,36,11,54,160,54,110,81,28,142,167,22,102,134,194,113,218,62,44,222,111,44,73,185,211,148,240,129,4,9,149,230,184,177,123,73,13,163,30,46,177,27,72,62,210,67,45,89,110,251,195,246,219, 233,166,145,103,81,31,169,176,204,122,206,12,116,148,97,185,102,241,6,5,222,0,0,0,0,119,7,48,150,238,14,97,44,153,9,81,186,7,109,196,25,112,106,244,143,233,99,165,53,158,100,149,163,14,219,136,50,121,220,184,164,224,213,233,30,151,210,217,136,9,182,76,43,126,177,124,189,231,184,45,7,144,191,29,145,29,183,16,100,106,176,32,242,243,185,113,72,132,190,65,222,26,218,212,125,109,221,228,235,244,212,181,81,131,211,133,199,19,108,152,86,100,107,168,192,253,98,249,122,138,101,201,236,20,1,92,79,99,6,108, 217,250,15,61,99,141,8,13,245,59,110,32,200,76,105,16,94,213,96,65,228,162,103,113,114,60,3,228,209,75,4,212,71,210,13,133,253,165,10,181,107,53,181,168,250,66,178,152,108,219,187,201,214,172,188,249,64,50,216,108,227,69,223,92,117,220,214,13,207,171,209,61,89,38,217,48,172,81,222,0,58,200,215,81,128,191,208,97,22,33,180,244,181,86,179,196,35,207,186,149,153,184,189,165,15,40,2,184,158,95,5,136,8,198,12,217,178,177,11,233,36,47,111,124,135,88,104,76,17,193,97,29,171,182,102,45,61,118,220,65,144,1, 219,113,6,152,210,32,188,239,213,16,42,113,177,133,137,6,182,181,31,159,191,228,165,232,184,212,51,120,7,201,162,15,0,249,52,150,9,168,142,225,14,152,24,127,106,13,187,8,109,61,45,145,100,108,151,230,99,92,1,107,107,81,244,28,108,97,98,133,101,48,216,242,98,0,78,108,6,149,237,27,1,165,123,130,8,244,193,245,15,196,87,101,176,217,198,18,183,233,80,139,190,184,234,252,185,136,124,98,221,29,223,21,218,45,73,140,211,124,243,251,212,76,101,77,178,97,88,58,181,81,206,163,188,0,116,212,187,48,226,74,223, 165,65,61,216,149,215,164,209,196,109,211,214,244,251,67,105,233,106,52,110,217,252,173,103,136,70,218,96,184,208,68,4,45,115,51,3,29,229,170,10,76,95,221,13,124,201,80,5,113,60,39,2,65,170,190,11,16,16,201,12,32,134,87,104,181,37,32,111,133,179,185,102,212,9,206,97,228,159,94,222,249,14,41,217,201,152,176,208,152,34,199,215,168,180,89,179,61,23,46,180,13,129,183,189,92,59,192,186,108,173,237,184,131,32,154,191,179,182,3,182,226,12,116,177,210,154,234,213,71,57,157,210,119,175,4,219,38,21,115,220, 22,131,227,99,11,18,148,100,59,132,13,109,106,62,122,106,90,168,228,14,207,11,147,9,255,157,10,0,174,39,125,7,158,177,240,15,147,68,135,8,163,210,30,1,242,104,105,6,194,254,247,98,87,93,128,101,103,203,25,108,54,113,110,107,6,231,254,212,27,118,137,211,43,224,16,218,122,90,103,221,74,204,249,185,223,111,142,190,239,249,23,183,190,67,96,176,142,213,214,214,163,232,161,209,147,126,56,216,194,196,79,223,242,82,209,187,103,241,166,188,87,103,63,181,6,221,72,178,54,75,216,13,43,218,175,10,27,76,54,3,74, 246,65,4,122,96,223,96,239,195,168,103,223,85,49,110,142,239,70,105,190,121,203,97,179,140,188,102,131,26,37,111,210,160,82,104,226,54,204,12,119,149,187,11,71,3,34,2,22,185,85,5,38,47,197,186,59,190,178,189,11,40,43,180,90,146,92,179,106,4,194,215,255,167,181,208,207,49,44,217,158,139,91,222,174,29,155,100,194,176,236,99,242,38,117,106,163,156,2,109,147,10,156,9,6,169,235,14,54,63,114,7,103,133,5,0,87,19,149,191,74,130,226,184,122,20,123,177,43,174,12,182,27,56,146,210,142,155,229,213,190,13,124, 220,239,183,11,219,223,33,134,211,210,212,241,212,226,66,104,221,179,248,31,218,131,110,129,190,22,205,246,185,38,91,111,176,119,225,24,183,71,119,136,8,90,230,255,15,106,112,102,6,59,202,17,1,11,92,143,101,158,255,248,98,174,105,97,107,255,211,22,108,207,69,160,10,226,120,215,13,210,238,78,4,131,84,57,3,179,194,167,103,38,97,208,96,22,247,73,105,71,77,62,110,119,219,174,209,106,74,217,214,90,220,64,223,11,102,55,216,59,240,169,188,174,83,222,187,158,197,71,178,207,127,48,181,255,233,189,189,242, 28,202,186,194,138,83,179,147,48,36,180,163,166,186,208,54,5,205,215,6,147,84,222,87,41,35,217,103,191,179,102,122,46,196,97,74,184,93,104,27,2,42,111,43,148,180,11,190,55,195,12,142,161,90,5,223,27,45,2,239,141,0,0,0,0,25,27,49,65,50,54,98,130,43,45,83,195,100,108,197,4,125,119,244,69,86,90,167,134,79,65,150,199,200,217,138,8,209,194,187,73,250,239,232,138,227,244,217,203,172,181,79,12,181,174,126,77,158,131,45,142,135,152,28,207,74,194,18,81,83,217,35,16,120,244,112,211,97,239,65,146,46,174,215, 85,55,181,230,20,28,152,181,215,5,131,132,150,130,27,152,89,155,0,169,24,176,45,250,219,169,54,203,154,230,119,93,93,255,108,108,28,212,65,63,223,205,90,14,158,149,132,36,162,140,159,21,227,167,178,70,32,190,169,119,97,241,232,225,166,232,243,208,231,195,222,131,36,218,197,178,101,93,93,174,170,68,70,159,235,111,107,204,40,118,112,253,105,57,49,107,174,32,42,90,239,11,7,9,44,18,28,56,109,223,70,54,243,198,93,7,178,237,112,84,113,244,107,101,48,187,42,243,247,162,49,194,182,137,28,145,117,144,7,160, 52,23,159,188,251,14,132,141,186,37,169,222,121,60,178,239,56,115,243,121,255,106,232,72,190,65,197,27,125,88,222,42,60,240,121,79,5,233,98,126,68,194,79,45,135,219,84,28,198,148,21,138,1,141,14,187,64,166,35,232,131,191,56,217,194,56,160,197,13,33,187,244,76,10,150,167,143,19,141,150,206,92,204,0,9,69,215,49,72,110,250,98,139,119,225,83,202,186,187,93,84,163,160,108,21,136,141,63,214,145,150,14,151,222,215,152,80,199,204,169,17,236,225,250,210,245,250,203,147,114,98,215,92,107,121,230,29,64,84,181, 222,89,79,132,159,22,14,18,88,15,21,35,25,36,56,112,218,61,35,65,155,101,253,107,167,124,230,90,230,87,203,9,37,78,208,56,100,1,145,174,163,24,138,159,226,51,167,204,33,42,188,253,96,173,36,225,175,180,63,208,238,159,18,131,45,134,9,178,108,201,72,36,171,208,83,21,234,251,126,70,41,226,101,119,104,47,63,121,246,54,36,72,183,29,9,27,116,4,18,42,53,75,83,188,242,82,72,141,179,121,101,222,112,96,126,239,49,231,230,243,254,254,253,194,191,213,208,145,124,204,203,160,61,131,138,54,250,154,145,7,187,177, 188,84,120,168,167,101,57,59,131,152,75,34,152,169,10,9,181,250,201,16,174,203,136,95,239,93,79,70,244,108,14,109,217,63,205,116,194,14,140,243,90,18,67,234,65,35,2,193,108,112,193,216,119,65,128,151,54,215,71,142,45,230,6,165,0,181,197,188,27,132,132,113,65,138,26,104,90,187,91,67,119,232,152,90,108,217,217,21,45,79,30,12,54,126,95,39,27,45,156,62,0,28,221,185,152,0,18,160,131,49,83,139,174,98,144,146,181,83,209,221,244,197,22,196,239,244,87,239,194,167,148,246,217,150,213,174,7,188,233,183,28,141, 168,156,49,222,107,133,42,239,42,202,107,121,237,211,112,72,172,248,93,27,111,225,70,42,46,102,222,54,225,127,197,7,160,84,232,84,99,77,243,101,34,2,178,243,229,27,169,194,164,48,132,145,103,41,159,160,38,228,197,174,184,253,222,159,249,214,243,204,58,207,232,253,123,128,169,107,188,153,178,90,253,178,159,9,62,171,132,56,127,44,28,36,176,53,7,21,241,30,42,70,50,7,49,119,115,72,112,225,180,81,107,208,245,122,70,131,54,99,93,178,119,203,250,215,78,210,225,230,15,249,204,181,204,224,215,132,141,175, 150,18,74,182,141,35,11,157,160,112,200,132,187,65,137,3,35,93,70,26,56,108,7,49,21,63,196,40,14,14,133,103,79,152,66,126,84,169,3,85,121,250,192,76,98,203,129,129,56,197,31,152,35,244,94,179,14,167,157,170,21,150,220,229,84,0,27,252,79,49,90,215,98,98,153,206,121,83,216,73,225,79,23,80,250,126,86,123,215,45,149,98,204,28,212,45,141,138,19,52,150,187,82,31,187,232,145,6,160,217,208,94,126,243,236,71,101,194,173,108,72,145,110,117,83,160,47,58,18,54,232,35,9,7,169,8,36,84,106,17,63,101,43,150,167, 121,228,143,188,72,165,164,145,27,102,189,138,42,39,242,203,188,224,235,208,141,161,192,253,222,98,217,230,239,35,20,188,225,189,13,167,208,252,38,138,131,63,63,145,178,126,112,208,36,185,105,203,21,248,66,230,70,59,91,253,119,122,220,101,107,181,197,126,90,244,238,83,9,55,247,72,56,118,184,9,174,177,161,18,159,240,138,63,204,51,147,36,253,114,0,0,0,0,1,194,106,55,3,132,212,110,2,70,190,89,7,9,168,220,6,203,194,235,4,141,124,178,5,79,22,133,14,19,81,184,15,209,59,143,13,151,133,214,12,85,239,225, 9,26,249,100,8,216,147,83,10,158,45,10,11,92,71,61,28,38,163,112,29,228,201,71,31,162,119,30,30,96,29,41,27,47,11,172,26,237,97,155,24,171,223,194,25,105,181,245,18,53,242,200,19,247,152,255,17,177,38,166,16,115,76,145,21,60,90,20,20,254,48,35,22,184,142,122,23,122,228,77,56,77,70,224,57,143,44,215,59,201,146,142,58,11,248,185,63,68,238,60,62,134,132,11,60,192,58,82,61,2,80,101,54,94,23,88,55,156,125,111,53,218,195,54,52,24,169,1,49,87,191,132,48,149,213,179,50,211,107,234,51,17,1,221,36,107,229, 144,37,169,143,167,39,239,49,254,38,45,91,201,35,98,77,76,34,160,39,123,32,230,153,34,33,36,243,21,42,120,180,40,43,186,222,31,41,252,96,70,40,62,10,113,45,113,28,244,44,179,118,195,46,245,200,154,47,55,162,173,112,154,141,192,113,88,231,247,115,30,89,174,114,220,51,153,119,147,37,28,118,81,79,43,116,23,241,114,117,213,155,69,126,137,220,120,127,75,182,79,125,13,8,22,124,207,98,33,121,128,116,164,120,66,30,147,122,4,160,202,123,198,202,253,108,188,46,176,109,126,68,135,111,56,250,222,110,250,144, 233,107,181,134,108,106,119,236,91,104,49,82,2,105,243,56,53,98,175,127,8,99,109,21,63,97,43,171,102,96,233,193,81,101,166,215,212,100,100,189,227,102,34,3,186,103,224,105,141,72,215,203,32,73,21,161,23,75,83,31,78,74,145,117,121,79,222,99,252,78,28,9,203,76,90,183,146,77,152,221,165,70,196,154,152,71,6,240,175,69,64,78,246,68,130,36,193,65,205,50,68,64,15,88,115,66,73,230,42,67,139,140,29,84,241,104,80,85,51,2,103,87,117,188,62,86,183,214,9,83,248,192,140,82,58,170,187,80,124,20,226,81,190,126,213, 90,226,57,232,91,32,83,223,89,102,237,134,88,164,135,177,93,235,145,52,92,41,251,3,94,111,69,90,95,173,47,109,225,53,27,128,224,247,113,183,226,177,207,238,227,115,165,217,230,60,179,92,231,254,217,107,229,184,103,50,228,122,13,5,239,38,74,56,238,228,32,15,236,162,158,86,237,96,244,97,232,47,226,228,233,237,136,211,235,171,54,138,234,105,92,189,253,19,184,240,252,209,210,199,254,151,108,158,255,85,6,169,250,26,16,44,251,216,122,27,249,158,196,66,248,92,174,117,243,0,233,72,242,194,131,127,240,132, 61,38,241,70,87,17,244,9,65,148,245,203,43,163,247,141,149,250,246,79,255,205,217,120,93,96,216,186,55,87,218,252,137,14,219,62,227,57,222,113,245,188,223,179,159,139,221,245,33,210,220,55,75,229,215,107,12,216,214,169,102,239,212,239,216,182,213,45,178,129,208,98,164,4,209,160,206,51,211,230,112,106,210,36,26,93,197,94,254,16,196,156,148,39,198,218,42,126,199,24,64,73,194,87,86,204,195,149,60,251,193,211,130,162,192,17,232,149,203,77,175,168,202,143,197,159,200,201,123,198,201,11,17,241,204,68,7, 116,205,134,109,67,207,192,211,26,206,2,185,45,145,175,150,64,144,109,252,119,146,43,66,46,147,233,40,25,150,166,62,156,151,100,84,171,149,34,234,242,148,224,128,197,159,188,199,248,158,126,173,207,156,56,19,150,157,250,121,161,152,181,111,36,153,119,5,19,155,49,187,74,154,243,209,125,141,137,53,48,140,75,95,7,142,13,225,94,143,207,139,105,138,128,157,236,139,66,247,219,137,4,73,130,136,198,35,181,131,154,100,136,130,88,14,191,128,30,176,230,129,220,218,209,132,147,204,84,133,81,166,99,135,23,24, 58,134,213,114,13,169,226,208,160,168,32,186,151,170,102,4,206,171,164,110,249],"i8",za,z.cb); N([174,235,120,124,175,41,18,75,173,111,172,18,172,173,198,37,167,241,129,24,166,51,235,47,164,117,85,118,165,183,63,65,160,248,41,196,161,58,67,243,163,124,253,170,162,190,151,157,181,196,115,208,180,6,25,231,182,64,167,190,183,130,205,137,178,205,219,12,179,15,177,59,177,73,15,98,176,139,101,85,187,215,34,104,186,21,72,95,184,83,246,6,185,145,156,49,188,222,138,180,189,28,224,131,191,90,94,218,190,152,52,237,0,0,0,0,184,188,103,101,170,9,200,139,18,181,175,238,143,98,151,87,55,222,240,50,37,107, 95,220,157,215,56,185,197,180,40,239,125,8,79,138,111,189,224,100,215,1,135,1,74,214,191,184,242,106,216,221,224,223,119,51,88,99,16,86,80,25,87,159,232,165,48,250,250,16,159,20,66,172,248,113,223,123,192,200,103,199,167,173,117,114,8,67,205,206,111,38,149,173,127,112,45,17,24,21,63,164,183,251,135,24,208,158,26,207,232,39,162,115,143,66,176,198,32,172,8,122,71,201,160,50,175,62,24,142,200,91,10,59,103,181,178,135,0,208,47,80,56,105,151,236,95,12,133,89,240,226,61,229,151,135,101,134,135,209,221, 58,224,180,207,143,79,90,119,51,40,63,234,228,16,134,82,88,119,227,64,237,216,13,248,81,191,104,240,43,248,161,72,151,159,196,90,34,48,42,226,158,87,79,127,73,111,246,199,245,8,147,213,64,167,125,109,252,192,24,53,159,208,78,141,35,183,43,159,150,24,197,39,42,127,160,186,253,71,25,2,65,32,124,16,244,143,146,168,72,232,247,155,20,88,61,35,168,63,88,49,29,144,182,137,161,247,211,20,118,207,106,172,202,168,15,190,127,7,225,6,195,96,132,94,160,112,210,230,28,23,183,244,169,184,89,76,21,223,60,209,194, 231,133,105,126,128,224,123,203,47,14,195,119,72,107,203,13,15,162,115,177,104,199,97,4,199,41,217,184,160,76,68,111,152,245,252,211,255,144,238,102,80,126,86,218,55,27,14,185,39,77,182,5,64,40,164,176,239,198,28,12,136,163,129,219,176,26,57,103,215,127,43,210,120,145,147,110,31,244,59,38,247,3,131,154,144,102,145,47,63,136,41,147,88,237,180,68,96,84,12,248,7,49,30,77,168,223,166,241,207,186,254,146,223,236,70,46,184,137,84,155,23,103,236,39,112,2,113,240,72,187,201,76,47,222,219,249,128,48,99,69, 231,85,107,63,160,156,211,131,199,249,193,54,104,23,121,138,15,114,228,93,55,203,92,225,80,174,78,84,255,64,246,232,152,37,174,139,136,115,22,55,239,22,4,130,64,248,188,62,39,157,33,233,31,36,153,85,120,65,139,224,215,175,51,92,176,202,237,89,182,59,85,229,209,94,71,80,126,176,255,236,25,213,98,59,33,108,218,135,70,9,200,50,233,231,112,142,142,130,40,237,158,212,144,81,249,177,130,228,86,95,58,88,49,58,167,143,9,131,31,51,110,230,13,134,193,8,181,58,166,109,189,64,225,164,5,252,134,193,23,73,41,47, 175,245,78,74,50,34,118,243,138,158,17,150,152,43,190,120,32,151,217,29,120,244,201,75,192,72,174,46,210,253,1,192,106,65,102,165,247,150,94,28,79,42,57,121,93,159,150,151,229,35,241,242,77,107,25,5,245,215,126,96,231,98,209,142,95,222,182,235,194,9,142,82,122,181,233,55,104,0,70,217,208,188,33,188,136,223,49,234,48,99,86,143,34,214,249,97,154,106,158,4,7,189,166,189,191,1,193,216,173,180,110,54,21,8,9,83,29,114,78,154,165,206,41,255,183,123,134,17,15,199,225,116,146,16,217,205,42,172,190,168,56, 25,17,70,128,165,118,35,216,198,102,117,96,122,1,16,114,207,174,254,202,115,201,155,87,164,241,34,239,24,150,71,253,173,57,169,69,17,94,204,118,77,238,6,206,241,137,99,220,68,38,141,100,248,65,232,249,47,121,81,65,147,30,52,83,38,177,218,235,154,214,191,179,249,198,233,11,69,161,140,25,240,14,98,161,76,105,7,60,155,81,190,132,39,54,219,150,146,153,53,46,46,254,80,38,84,185,153,158,232,222,252,140,93,113,18,52,225,22,119,169,54,46,206,17,138,73,171,3,63,230,69,187,131,129,32,227,224,145,118,91,92, 246,19,73,233,89,253,241,85,62,152,108,130,6,33,212,62,97,68,198,139,206,170,126,55,169,207,214,127,65,56,110,195,38,93,124,118,137,179,196,202,238,214,89,29,214,111,225,161,177,10,243,20,30,228,75,168,121,129,19,203,105,215,171,119,14,178,185,194,161,92,1,126,198,57,156,169,254,128,36,21,153,229,54,160,54,11,142,28,81,110,134,102,22,167,62,218,113,194,44,111,222,44,148,211,185,73,9,4,129,240,177,184,230,149,163,13,73,123,27,177,46,30,67,210,62,72,251,110,89,45,233,219,246,195,81,103,145,166,204, 176,169,31,116,12,206,122,102,185,97,148,222,5,6,241,16,0,17,0,18,0,0,0,8,0,7,0,9,0,6,0,10,0,5,0,11,0,4,0,12,0,3,0,13,0,2,0,14,0,1,0,15,0,0,0,105,110,99,111,114,114,101,99,116,32,104,101,97,100,101,114,32,99,104,101,99,107,0,0,117,110,107,110,111,119,110,32,99,111,109,112,114,101,115,115,105,111,110,32,109,101,116,104,111,100,0,0,0,0,0,0,105,110,118,97,108,105,100,32,119,105,110,100,111,119,32,115,105,122,101,0,0,0,0,0,117,110,107,110,111,119,110,32,104,101,97,100,101,114,32,102,108,97,103,115,32, 115,101,116,0,0,0,0,0,0,0,0,104,101,97,100,101,114,32,99,114,99,32,109,105,115,109,97,116,99,104,0,0,0,0,0,105,110,118,97,108,105,100,32,98,108,111,99,107,32,116,121,112,101,0,0,0,0,0,0,105,110,118,97,108,105,100,32,115,116,111,114,101,100,32,98,108,111,99,107,32,108,101,110,103,116,104,115,0,0,0,0,116,111,111,32,109,97,110,121,32,108,101,110,103,116,104,32,111,114,32,100,105,115,116,97,110,99,101,32,115,121,109,98,111,108,115,0,0,0,0,0,105,110,118,97,108,105,100,32,99,111,100,101,32,108,101,110, 103,116,104,115,32,115,101,116,0,0,0,0,0,0,0,0,105,110,118,97,108,105,100,32,98,105,116,32,108,101,110,103,116,104,32,114,101,112,101,97,116,0,0,0,0,0,0,0,105,110,118,97,108,105,100,32,99,111,100,101,32,45,45,32,109,105,115,115,105,110,103,32,101,110,100,45,111,102,45,98,108,111,99,107,0,0,0,0,105,110,118,97,108,105,100,32,108,105,116,101,114,97,108,47,108,101,110,103,116,104,115,32,115,101,116,0,0,0,0,0,105,110,118,97,108,105,100,32,100,105,115,116,97,110,99,101,115,32,115,101,116,0,0,0,105,110, 118,97,108,105,100,32,108,105,116,101,114,97,108,47,108,101,110,103,116,104,32,99,111,100,101,0,0,0,0,0,105,110,118,97,108,105,100,32,100,105,115,116,97,110,99,101,32,99,111,100,101,0,0,0,105,110,118,97,108,105,100,32,100,105,115,116,97,110,99,101,32,116,111,111,32,102,97,114,32,98,97,99,107,0,0,0,105,110,99,111,114,114,101,99,116,32,100,97,116,97,32,99,104,101,99,107,0,0,0,0,105,110,99,111,114,114,101,99,116,32,108,101,110,103,116,104,32,99,104,101,99,107,0,0,96,7,0,0,0,8,80,0,0,8,16,0,20,8,115, 0,18,7,31,0,0,8,112,0,0,8,48,0,0,9,192,0,16,7,10,0,0,8,96,0,0,8,32,0,0,9,160,0,0,8,0,0,0,8,128,0,0,8,64,0,0,9,224,0,16,7,6,0,0,8,88,0,0,8,24,0,0,9,144,0,19,7,59,0,0,8,120,0,0,8,56,0,0,9,208,0,17,7,17,0,0,8,104,0,0,8,40,0,0,9,176,0,0,8,8,0,0,8,136,0,0,8,72,0,0,9,240,0,16,7,4,0,0,8,84,0,0,8,20,0,21,8,227,0,19,7,43,0,0,8,116,0,0,8,52,0,0,9,200,0,17,7,13,0,0,8,100,0,0,8,36,0,0,9,168,0,0,8,4,0,0,8,132,0,0,8,68,0,0,9,232,0,16,7,8,0,0,8,92,0,0,8,28,0,0,9,152,0,20,7,83,0,0,8,124,0,0,8,60,0,0,9,216,0,18,7, 23,0,0,8,108,0,0,8,44,0,0,9,184,0,0,8,12,0,0,8,140,0,0,8,76,0,0,9,248,0,16,7,3,0,0,8,82,0,0,8,18,0,21,8,163,0,19,7,35,0,0,8,114,0,0,8,50,0,0,9,196,0,17,7,11,0,0,8,98,0,0,8,34,0,0,9,164,0,0,8,2,0,0,8,130,0,0,8,66,0,0,9,228,0,16,7,7,0,0,8,90,0,0,8,26,0,0,9,148,0,20,7,67,0,0,8,122,0,0,8,58,0,0,9,212,0,18,7,19,0,0,8,106,0,0,8,42,0,0,9,180,0,0,8,10,0,0,8,138,0,0,8,74,0,0,9,244,0,16,7,5,0,0,8,86,0,0,8,22,0,64,8,0,0,19,7,51,0,0,8,118,0,0,8,54,0,0,9,204,0,17,7,15,0,0,8,102,0,0,8,38,0,0,9,172,0,0,8,6,0,0, 8,134,0,0,8,70,0,0,9,236,0,16,7,9,0,0,8,94,0,0,8,30,0,0,9,156,0,20,7,99,0,0,8,126,0,0,8,62,0,0,9,220,0,18,7,27,0,0,8,110,0,0,8,46,0,0,9,188,0,0,8,14,0,0,8,142,0,0,8,78,0,0,9,252,0,96,7,0,0,0,8,81,0,0,8,17,0,21,8,131,0,18,7,31,0,0,8,113,0,0,8,49,0,0,9,194,0,16,7,10,0,0,8,97,0,0,8,33,0,0,9,162,0,0,8,1,0,0,8,129,0,0,8,65,0,0,9,226,0,16,7,6,0,0,8,89,0,0,8,25,0,0,9,146,0,19,7,59,0,0,8,121,0,0,8,57,0,0,9,210,0,17,7,17,0,0,8,105,0,0,8,41,0,0,9,178,0,0,8,9,0,0,8,137,0,0,8,73,0,0,9,242,0,16,7,4,0,0,8,85,0, 0,8,21,0,16,8,2,1,19,7,43,0,0,8,117,0,0,8,53,0,0,9,202,0,17,7,13,0,0,8,101,0,0,8,37,0,0,9,170,0,0,8,5,0,0,8,133,0,0,8,69,0,0,9,234,0,16,7,8,0,0,8,93,0,0,8,29,0,0,9,154,0,20,7,83,0,0,8,125,0,0,8,61,0,0,9,218,0,18,7,23,0,0,8,109,0,0,8,45,0,0,9,186,0,0,8,13,0,0,8,141,0,0,8,77,0,0,9,250,0,16,7,3,0,0,8,83,0,0,8,19,0,21,8,195,0,19,7,35,0,0,8,115,0,0,8,51,0,0,9,198,0,17,7,11,0,0,8,99,0,0,8,35,0,0,9,166,0,0,8,3,0,0,8,131,0,0,8,67,0,0,9,230,0,16,7,7,0,0,8,91,0,0,8,27,0,0,9,150,0,20,7,67,0,0,8,123,0,0,8,59, 0,0,9,214,0,18,7,19,0,0,8,107,0,0,8,43,0,0,9,182,0,0,8,11,0,0,8,139,0,0,8,75,0,0,9,246,0,16,7,5,0,0,8,87,0,0,8,23,0,64,8,0,0,19,7,51,0,0,8,119,0,0,8,55,0,0,9,206,0,17,7,15,0,0,8,103,0,0,8,39,0,0,9,174,0,0,8,7,0,0,8,135,0,0,8,71,0,0,9,238,0,16,7,9,0,0,8,95,0,0,8,31,0,0,9,158,0,20,7,99,0,0,8,127,0,0,8,63,0,0,9,222,0,18,7,27,0,0,8,111,0,0,8,47,0,0,9,190,0,0,8,15,0,0,8,143,0,0,8,79,0,0,9,254,0,96,7,0,0,0,8,80,0,0,8,16,0,20,8,115,0,18,7,31,0,0,8,112,0,0,8,48,0,0,9,193,0,16,7,10,0,0,8,96,0,0,8,32,0,0,9, 161,0,0,8,0,0,0,8,128,0,0,8,64,0,0,9,225,0,16,7,6,0,0,8,88,0,0,8,24,0,0,9,145,0,19,7,59,0,0,8,120,0,0,8,56,0,0,9,209,0,17,7,17,0,0,8,104,0,0,8,40,0,0,9,177,0,0,8,8,0,0,8,136,0,0,8,72,0,0,9,241,0,16,7,4,0,0,8,84,0,0,8,20,0,21,8,227,0,19,7,43,0,0,8,116,0,0,8,52,0,0,9,201,0,17,7,13,0,0,8,100,0,0,8,36,0,0,9,169,0,0,8,4,0,0,8,132,0,0,8,68,0,0,9,233,0,16,7,8,0,0,8,92,0,0,8,28,0,0,9,153,0,20,7,83,0,0,8,124,0,0,8,60,0,0,9,217,0,18,7,23,0,0,8,108,0,0,8,44,0,0,9,185,0,0,8,12,0,0,8,140,0,0,8,76,0,0,9,249,0, 16,7,3,0,0,8,82,0,0,8,18,0,21,8,163,0,19,7,35,0,0,8,114,0,0,8,50,0,0,9,197,0,17,7,11,0,0,8,98,0,0,8,34,0,0,9,165,0,0,8,2,0,0,8,130,0,0,8,66,0,0,9,229,0,16,7,7,0,0,8,90,0,0,8,26,0,0,9,149,0,20,7,67,0,0,8,122,0,0,8,58,0,0,9,213,0,18,7,19,0,0,8,106,0,0,8,42,0,0,9,181,0,0,8,10,0,0,8,138,0,0,8,74,0,0,9,245,0,16,7,5,0,0,8,86,0,0,8,22,0,64,8,0,0,19,7,51,0,0,8,118,0,0,8,54,0,0,9,205,0,17,7,15,0,0,8,102,0,0,8,38,0,0,9,173,0,0,8,6,0,0,8,134,0,0,8,70,0,0,9,237,0,16,7,9,0,0,8,94,0,0,8,30,0,0,9,157,0,20,7,99, 0,0,8,126,0,0,8,62,0,0,9,221,0,18,7,27,0,0,8,110,0,0,8,46,0,0,9,189,0,0,8,14,0,0,8,142,0,0,8,78,0,0,9,253,0,96,7,0,0,0,8,81,0,0,8,17,0,21,8,131,0,18,7,31,0,0,8,113,0,0,8,49,0,0,9,195,0,16,7,10,0,0,8,97,0,0,8,33,0,0,9,163,0,0,8,1,0,0,8,129,0,0,8,65,0,0,9,227,0,16,7,6,0,0,8,89,0,0,8,25,0,0,9,147,0,19,7,59,0,0,8,121,0,0,8,57,0,0,9,211,0,17,7,17,0,0,8,105,0,0,8,41,0,0,9,179,0,0,8,9,0,0,8,137,0,0,8,73,0,0,9,243,0,16,7,4,0,0,8,85,0,0,8,21,0,16,8,2,1,19,7,43,0,0,8,117,0,0,8,53,0,0,9,203,0,17,7,13,0,0,8, 101,0,0,8,37,0,0,9,171,0,0,8,5,0,0,8,133,0,0,8,69,0,0,9,235,0,16,7,8,0,0,8,93,0,0,8,29,0,0,9,155,0,20,7,83,0,0,8,125,0,0,8,61,0,0,9,219,0,18,7,23,0,0,8,109,0,0,8,45,0,0,9,187,0,0,8,13,0,0,8,141,0,0,8,77,0,0,9,251,0,16,7,3,0,0,8,83,0,0,8,19,0,21,8,195,0,19,7,35,0,0,8,115,0,0,8,51,0,0,9,199,0,17,7,11,0,0,8,99,0,0,8,35,0,0,9,167,0,0,8,3,0,0,8,131,0,0,8,67,0,0,9,231,0,16,7,7,0,0,8,91,0,0,8,27,0,0,9,151,0,20,7,67,0,0,8,123,0,0,8,59,0,0,9,215,0,18,7,19,0,0,8,107,0,0,8,43,0,0,9,183,0,0,8,11,0,0,8,139,0, 0,8,75,0,0,9,247,0,16,7,5,0,0,8,87,0,0,8,23,0,64,8,0,0,19,7,51,0,0,8,119,0,0,8,55,0,0,9,207,0,17,7,15,0,0,8,103,0,0,8,39,0,0,9,175,0,0,8,7,0,0,8,135,0,0,8,71,0,0,9,239,0,16,7,9,0,0,8,95,0,0,8,31,0,0,9,159,0,20,7,99,0,0,8,127,0,0,8,63,0,0,9,223,0,18,7,27,0,0,8,111,0,0,8,47,0,0,9,191,0,0,8,15,0,0,8,143,0,0,8,79,0,0,9,255,0,16,5,1,0,23,5,1,1,19,5,17,0,27,5,1,16,17,5,5,0,25,5,1,4,21,5,65,0,29,5,1,64,16,5,3,0,24,5,1,2,20,5,33,0,28,5,1,32,18,5,9,0,26,5,1,8,22,5,129,0,64,5,0,0,16,5,2,0,23,5,129,1,19,5,25, 0,27,5,1,24,17,5,7,0,25,5,1,6,21,5,97,0,29,5,1,96,16,5,4,0,24,5,1,3,20,5,49,0,28,5,1,48,18,5,13,0,26,5,1,12,22,5,193,0,64,5,0,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,13,0,15,0,17,0,19,0,23,0,27,0,31,0,35,0,43,0,51,0,59,0,67,0,83,0,99,0,115,0,131,0,163,0,195,0,227,0,2,1,0,0,0,0,0,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,17,0,17,0,17,0,17,0,18,0,18,0,18,0,18,0,19,0,19,0,19,0,19,0,20,0,20,0,20,0,20,0,21,0,21,0,21,0,21,0,16,0,73,0,195,0,0,0,1,0,2,0,3,0,4,0,5,0,7,0,9,0,13,0,17,0,25,0,33,0,49,0,65,0,97, 0,129,0,193,0,1,1,129,1,1,2,1,3,1,4,1,6,1,8,1,12,1,16,1,24,1,32,1,48,1,64,1,96,0,0,0,0,16,0,16,0,16,0,16,0,17,0,17,0,18,0,18,0,19,0,19,0,20,0,20,0,21,0,21,0,22,0,22,0,23,0,23,0,24,0,24,0,25,0,25,0,26,0,26,0,27,0,27,0,28,0,28,0,29,0,29,0,64,0,64,0,105,110,118,97,108,105,100,32,100,105,115,116,97,110,99,101,32,116,111,111,32,102,97,114,32,98,97,99,107,0,0,0,105,110,118,97,108,105,100,32,100,105,115,116,97,110,99,101,32,99,111,100,101,0,0,0,105,110,118,97,108,105,100,32,108,105,116,101,114,97,108,47, 108,101,110,103,116,104,32,99,111,100,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",za,z.cb+10240);var Za=z.T(N(12,"i8",ya),8);A(0==Za%8); var S={aa:1,ga:2,be:3,$c:4,O:5,bb:6,xc:7,xd:8,fa:9,Kc:10,$:11,le:11,Mb:12,Fb:13,Vc:14,Jd:15,Ya:16,Za:17,me:18,$a:19,Nb:20,ya:21,u:22,sd:23,Lb:24,Nd:25,ie:26,Wc:27,Fd:28,Ba:29,Zd:30,ld:31,Sd:32,Sc:33,Wd:34,Bd:42,Yc:43,Lc:44,bd:45,cd:46,dd:47,kd:48,je:49,vd:50,ad:51,Qc:35,yd:37,Cc:52,Fc:53,ne:54,td:55,Gc:56,Hc:57,Rc:35,Ic:59,Hd:60,wd:61,fe:62,Gd:63,Cd:64,Dd:65,Yd:66,zd:67,Ac:68,ce:69,Mc:70,Td:71,nd:72,Tc:73,Ec:74,Od:76,Dc:77,Xd:78,ed:79,fd:80,jd:81,hd:82,gd:83,Id:38,ab:39,od:36,za:40,Aa:95,Rd:96,Pc:104, ud:105,Bc:97,Vd:91,Ld:88,Ed:92,$d:108,Oc:111,yc:98,Nc:103,rd:101,pd:100,ge:110,Xc:112,Ib:113,Jb:115,Gb:114,Hb:89,md:90,Ud:93,ae:94,zc:99,qd:102,Kb:106,ha:107,he:109,ke:87,Uc:122,de:116,Md:95,Ad:123,Zc:84,Pd:75,Jc:125,Kd:131,Qd:130,ee:86},$a={"0":"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes", 12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"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:"Not a typewriter",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:"Math arg out of domain of func", 34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange", 53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)", 74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",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:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected", 107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"},ab=0;function bb(a){return M[ab>>2]=a} function cb(a,b){for(var c=0,d=a.length-1;0<=d;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function T(a){var b="/"===a.charAt(0),c="/"===a.substr(-1),a=cb(a.split("/").filter(function(a){return!!a}),!b).join("/");!a&&!b&&(a=".");a&&c&&(a+="/");return(b?"/":"")+a}function db(a){if("/"===a)return"/";var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)} function eb(){for(var a="",b=n,c=arguments.length-1;-1<=c&&!b;c--){var d=0<=c?arguments[c]:"/";"string"!==typeof d&&f(new TypeError("Arguments to path.resolve must be strings"));d&&(a=d+"/"+a,b="/"===d.charAt(0))}a=cb(a.split("/").filter(function(a){return!!a}),!b).join("/");return(b?"/":"")+a||"."}var fb=[];function gb(a,b){fb[a]={input:[],R:[],ba:b};hb[a]={k:ib}} var ib={open:function(a){var b=fb[a.e.ta];b||f(new U(S.$a));a.C=b;a.seekable=n},close:function(a){a.C.R.length&&a.C.ba.sa(a.C,10)},N:function(a,b,c,d){(!a.C||!a.C.ba.rb)&&f(new U(S.bb));for(var e=0,g=0;g<d;g++){var h;try{h=a.C.ba.rb(a.C)}catch(k){f(new U(S.O))}h===i&&0===e&&f(new U(S.$));if(h===m||h===i)break;e++;b[c+g]=h}e&&(a.e.timestamp=Date.now());return e},write:function(a,b,c,d){(!a.C||!a.C.ba.sa)&&f(new U(S.bb));for(var e=0;e<d;e++)try{a.C.ba.sa(a.C,b[c+e])}catch(g){f(new U(S.O))}d&&(a.e.timestamp= Date.now());return e}},V={F:m,Eb:1,wa:2,Xa:3,M:function(){return V.createNode(m,"/",16895,0)},createNode:function(a,b,c,d){(24576===(c&61440)||4096===(c&61440))&&f(new U(S.aa));V.F||(V.F={dir:{e:{L:V.n.L,A:V.n.A,Na:V.n.Na,pa:V.n.pa,rename:V.n.rename,Db:V.n.Db,Bb:V.n.Bb,yb:V.n.yb,va:V.n.va},G:{Q:V.k.Q}},file:{e:{L:V.n.L,A:V.n.A},G:{Q:V.k.Q,N:V.k.N,write:V.k.write,fb:V.k.fb,ub:V.k.ub}},link:{e:{L:V.n.L,A:V.n.A,ua:V.n.ua},G:{}},ib:{e:{L:V.n.L,A:V.n.A},G:jb}});c=kb(a,b,c,d);16384===(c.mode&61440)?(c.n= V.F.dir.e,c.k=V.F.dir.G,c.o={}):32768===(c.mode&61440)?(c.n=V.F.file.e,c.k=V.F.file.G,c.o=[],c.ja=V.wa):40960===(c.mode&61440)?(c.n=V.F.link.e,c.k=V.F.link.G):8192===(c.mode&61440)&&(c.n=V.F.ib.e,c.k=V.F.ib.G);c.timestamp=Date.now();a&&(a.o[b]=c);return c},Ga:function(a){a.ja!==V.wa&&(a.o=Array.prototype.slice.call(a.o),a.ja=V.wa)},n:{L:function(a){var b={};b.Ee=8192===(a.mode&61440)?a.id:1;b.Oe=a.id;b.mode=a.mode;b.Ue=1;b.uid=0;b.Me=0;b.ta=a.ta;b.size=16384===(a.mode&61440)?4096:32768===(a.mode& 61440)?a.o.length:40960===(a.mode&61440)?a.link.length:0;b.ze=new Date(a.timestamp);b.Se=new Date(a.timestamp);b.De=new Date(a.timestamp);b.Tb=4096;b.Ae=Math.ceil(b.size/b.Tb);return b},A:function(a,b){b.mode!==i&&(a.mode=b.mode);b.timestamp!==i&&(a.timestamp=b.timestamp);if(b.size!==i){V.Ga(a);var c=a.o;if(b.size<c.length)c.length=b.size;else for(;b.size>c.length;)c.push(0)}},Na:function(){f(lb[S.ga])},pa:function(a,b,c,d){return V.createNode(a,b,c,d)},rename:function(a,b,c){if(16384===(a.mode&61440)){var d; try{d=mb(b,c)}catch(e){}if(d)for(var g in d.o)f(new U(S.ab))}delete a.parent.o[a.name];a.name=c;b.o[c]=a;a.parent=b},Db:function(a,b){delete a.o[b]},Bb:function(a,b){var c=mb(a,b),d;for(d in c.o)f(new U(S.ab));delete a.o[b]},yb:function(a){var b=[".",".."],c;for(c in a.o)a.o.hasOwnProperty(c)&&b.push(c);return b},va:function(a,b,c){a=V.createNode(a,b,41471,0);a.link=c;return a},ua:function(a){40960!==(a.mode&61440)&&f(new U(S.u));return a.link}},k:{N:function(a,b,c,d,e){a=a.e.o;if(e>=a.length)return 0; d=Math.min(a.length-e,d);A(0<=d);if(8<d&&a.subarray)b.set(a.subarray(e,e+d),c);else for(var g=0;g<d;g++)b[c+g]=a[e+g];return d},write:function(a,b,c,d,e,g){var h=a.e;h.timestamp=Date.now();a=h.o;if(d&&0===a.length&&0===e&&b.subarray)return g&&0===c?(h.o=b,h.ja=b.buffer===L.buffer?V.Eb:V.Xa):(h.o=new Uint8Array(b.subarray(c,c+d)),h.ja=V.Xa),d;V.Ga(h);for(a=h.o;a.length<e;)a.push(0);for(g=0;g<d;g++)a[e+g]=b[c+g];return d},Q:function(a,b,c){1===c?b+=a.position:2===c&&32768===(a.e.mode&61440)&&(b+=a.e.o.length); 0>b&&f(new U(S.u));a.vc=[];return a.position=b},fb:function(a,b,c){V.Ga(a.e);a=a.e.o;for(b+=c;b>a.length;)a.push(0)},ub:function(a,b,c,d,e,g,h){32768!==(a.e.mode&61440)&&f(new U(S.$a));a=a.e.o;if(!(h&2)&&(a.buffer===b||a.buffer===b.buffer))e=n,d=a.byteOffset;else{if(0<e||e+d<a.length)a=a.subarray?a.subarray(e,e+d):Array.prototype.slice.call(a,e,e+d);e=l;(d=Aa(d))||f(new U(S.Mb));b.set(a,d)}return{Ze:d,xe:e}}}},nb=N(1,"i32*",ya),ob=N(1,"i32*",ya),pb=N(1,"i32*",ya),rb=m,hb=[m],W=[],sb=1,tb=m,ub=l,vb= {},U=m,lb={};function wb(a){a instanceof U||f(a+" : "+Ca());bb(a.kb)} function X(a,b){var a=eb("/",a),b=b||{},c={ob:l,Qa:0},d;for(d in c)b[d]===i&&(b[d]=c[d]);8<b.Qa&&f(new U(S.za));var c=cb(a.split("/").filter(function(a){return!!a}),n),e=rb,g="/";for(d=0;d<c.length;d++){var h=d===c.length-1;if(h&&b.parent)break;e=mb(e,c[d]);g=T(g+"/"+c[d]);if(e.qa&&(!h||h&&b.ob))e=e.qa.root;if(!h||b.Ia)for(h=0;40960===(e.mode&61440);){e=X(g).e;e.n.ua||f(new U(S.u));var e=e.n.ua(e),k=eb;var j=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(g).slice(1),g=j[0],j= j[1];!g&&!j?g=".":(j&&(j=j.substr(0,j.length-1)),g+=j);g=k(g,e);e=X(g,{Qa:b.Qa}).e;40<h++&&f(new U(S.za))}}return{path:g,e:e}}function xb(a){for(var b;;){if(a===a.parent)return a=a.M.mc,!b?a:"/"!==a[a.length-1]?a+"/"+b:a+b;b=b?a.name+"/"+b:a.name;a=a.parent}}function yb(a,b){for(var c=0,d=0;d<b.length;d++)c=(c<<5)-c+b.charCodeAt(d)|0;return(a+c>>>0)%tb.length} function mb(a,b){var c=zb(a,"x");c&&f(new U(c));for(c=tb[yb(a.id,b)];c;c=c.oc){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.n.Na(a,b)} function kb(a,b,c,d){Ab||(Ab=function(a,b,c,d){a||(a=this);this.parent=a;this.M=a.M;this.qa=m;this.id=sb++;this.name=b;this.mode=c;this.n={};this.k={};this.ta=d},Ab.prototype={},Object.defineProperties(Ab.prototype,{N:{get:function(){return 365===(this.mode&365)},set:function(a){a?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146===(this.mode&146)},set:function(a){a?this.mode|=146:this.mode&=-147}},gc:{get:function(){return 16384===(this.mode&61440)}},fc:{get:function(){return 8192=== (this.mode&61440)}}}));a=new Ab(a,b,c,d);b=yb(a.parent.id,a.name);a.oc=tb[b];return tb[b]=a}var Bb={r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218};function Cb(a){var b=Bb[a];"undefined"===typeof b&&f(Error("Unknown file open mode: "+a));return b}function zb(a,b){return ub?0:-1!==b.indexOf("r")&&!(a.mode&292)||-1!==b.indexOf("w")&&!(a.mode&146)||-1!==b.indexOf("x")&&!(a.mode&73)?S.Fb:0} function Db(a,b){try{return mb(a,b),S.Za}catch(c){}return zb(a,"wx")}function Eb(a,b,c){Fb||(Fb=p(),Fb.prototype={},Object.defineProperties(Fb.prototype,{object:{get:function(){return this.e},set:function(a){this.e=a}},Qe:{get:function(){return 1!==(this.K&2097155)}},Re:{get:function(){return 0!==(this.K&2097155)}},Pe:{get:function(){return this.K&1024}}}));var d=new Fb,e;for(e in a)d[e]=a[e];var a=d,g;a:{b=b||0;for(c=c||4096;b<=c;b++)if(!W[b]){g=b;break a}f(new U(S.Lb))}a.B=g;return W[g]=a} var jb={open:function(a){a.k=hb[a.e.ta].k;a.k.open&&a.k.open(a)},Q:function(){f(new U(S.Ba))}};function Gb(a,b){var c="/"===b,d=!b,e;c&&rb&&f(new U(S.Ya));!c&&!d&&(e=X(b,{ob:n}),b=e.path,e=e.e,e.qa&&f(new U(S.Ya)),16384!==(e.mode&61440)&&f(new U(S.Nb)));var d={type:a,We:{},mc:b,nc:[]},g=a.M(d);g.M=d;d.root=g;c?rb=g:e&&(e.qa=d,e.M&&e.M.nc.push(d));return g}function Hb(a,b,c){var d=X(a,{parent:l}).e,a=db(a),e=Db(d,a);e&&f(new U(e));d.n.pa||f(new U(S.aa));return d.n.pa(d,a,b,c)} function Ib(a,b){b=(b!==i?b:438)&4095;b|=32768;return Hb(a,b,0)}function Jb(a,b){b=(b!==i?b:511)&1023;b|=16384;return Hb(a,b,0)}function Kb(a,b,c){"undefined"===typeof c&&(c=b,b=438);return Hb(a,b|8192,c)}function Lb(a,b){var c=X(b,{parent:l}).e,d=db(b),e=Db(c,d);e&&f(new U(e));c.n.va||f(new U(S.aa));return c.n.va(c,d,a)}function Mb(a,b){var c;c="string"===typeof a?X(a,{Ia:l}).e:a;c.n.A||f(new U(S.aa));c.n.A(c,{mode:b&4095|c.mode&-4096,timestamp:Date.now()})} function Nb(a,b){var c,b="string"===typeof b?Cb(b):b;c=b&64?("undefined"===typeof c?438:c)&4095|32768:0;var d;if("object"===typeof a)d=a;else{a=T(a);try{d=X(a,{Ia:!(b&131072)}).e}catch(e){}}b&64&&(d?b&128&&f(new U(S.Za)):d=Hb(a,c,0));d||f(new U(S.ga));8192===(d.mode&61440)&&(b&=-513);d?40960===(d.mode&61440)?c=S.za:16384===(d.mode&61440)&&(0!==(b&2097155)||b&512)?c=S.ya:(c=["r","w","rw"][b&2097155],b&512&&(c+="w"),c=zb(d,c)):c=S.ga;c&&f(new U(c));if(b&512){c=d;c="string"===typeof c?X(c,{Ia:l}).e: c;c.n.A||f(new U(S.aa));16384===(c.mode&61440)&&f(new U(S.ya));32768!==(c.mode&61440)&&f(new U(S.u));var g=zb(c,"w");g&&f(new U(g));c.n.A(c,{size:0,timestamp:Date.now()})}b&=-641;d=Eb({e:d,path:xb(d),K:b,seekable:l,position:0,k:d.k,vc:[],error:n},i,i);d.k.open&&d.k.open(d);s.logReadFiles&&!(b&1)&&(Ob||(Ob={}),a in Ob||(Ob[a]=1,s.printErr("read file: "+a)));try{vb.onOpenFile&&(c=0,1!==(b&2097155)&&(c|=1),0!==(b&2097155)&&(c|=2),vb.onOpenFile(a,c))}catch(h){console.log("FS.trackingDelegate['onOpenFile']('"+ a+"', flags) threw an exception: "+h.message)}return d}function Pb(a){try{a.k.close&&a.k.close(a)}catch(b){f(b)}finally{W[a.B]=m}} function Qb(a,b,c,d,e,g){(0>d||0>e)&&f(new U(S.u));0===(a.K&2097155)&&f(new U(S.fa));16384===(a.e.mode&61440)&&f(new U(S.ya));a.k.write||f(new U(S.u));var h=l;"undefined"===typeof e?(e=a.position,h=n):a.seekable||f(new U(S.Ba));a.K&1024&&((!a.seekable||!a.k.Q)&&f(new U(S.Ba)),a.k.Q(a,0,2));b=a.k.write(a,b,c,d,e,g);h||(a.position+=b);try{if(a.path&&vb.onWriteToFile)vb.onWriteToFile(a.path)}catch(k){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+k.message)}return b} function Rb(){U||(U=function(a){this.kb=a;for(var b in S)if(S[b]===a){this.code=b;break}this.message=$a[a]},U.prototype=Error(),[S.ga].forEach(function(a){lb[a]=new U(a);lb[a].stack="<generic error, no stack>"}))}var Sb;function Tb(a,b){var c=0;a&&(c|=365);b&&(c|=146);return c} function Ub(a,b,c,d,e,g){a=b?T(("string"===typeof a?a:xb(a))+"/"+b):a;d=Tb(d,e);e=Ib(a,d);if(c){if("string"===typeof c){for(var a=Array(c.length),b=0,h=c.length;b<h;++b)a[b]=c.charCodeAt(b);c=a}Mb(e,d|146);a=Nb(e,"w");Qb(a,c,0,c.length,0,g);Pb(a);Mb(e,d)}return e} function Vb(a,b,c,d){a=T(("string"===typeof a?a:xb(a))+"/"+b);b=Tb(!!c,!!d);Vb.tb||(Vb.tb=64);var e;e=Vb.tb++<<8|0;hb[e]={k:{open:function(a){a.seekable=n},close:function(){d&&(d.buffer&&d.buffer.length)&&d(10)},N:function(a,b,d,e){for(var w=0,E=0;E<e;E++){var q;try{q=c()}catch(v){f(new U(S.O))}q===i&&0===w&&f(new U(S.$));if(q===m||q===i)break;w++;b[d+E]=q}w&&(a.e.timestamp=Date.now());return w},write:function(a,b,c,e){for(var w=0;w<e;w++)try{d(b[c+w])}catch(E){f(new U(S.O))}e&&(a.e.timestamp=Date.now()); return w}}};return Kb(a,b,e)}function Wb(a){if(a.fc||a.gc||a.link||a.o)return l;var b=l;"undefined"!==typeof XMLHttpRequest&&f(Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."));if(s.read)try{a.o=K(s.read(a.url),l)}catch(c){b=n}else f(Error("Cannot load without read() or XMLHttpRequest."));b||bb(S.O);return b}var Ab,Fb,Ob;function Xb(){f("TODO")} var Z={M:function(){return kb(m,"/",16895,0)},Xb:function(a,b,c){c&&A(1==b==(6==c));a={Zb:a,type:b,protocol:c,p:m,ca:{},Oa:[],W:[],Y:Z.q};b=Z.ra();c=kb(Z.root,b,49152,0);c.X=a;b=Eb({path:b,e:c,K:Cb("r+"),seekable:n,k:Z.k});a.G=b;return a},ac:function(a){a=W[a];return!a||49152!==(a.e.mode&49152)?m:a.e.X},k:{xb:function(a){a=a.e.X;return a.Y.xb(a)},sb:function(a,b,c){a=a.e.X;return a.Y.sb(a,b,c)},N:function(a,b,c,d){a=a.e.X;d=a.Y.qc(a,d);if(!d)return 0;b.set(d.buffer,c);return d.buffer.length},write:function(a, b,c,d){a=a.e.X;return a.Y.sc(a,b,c,d)},close:function(a){a=a.e.X;a.Y.close(a)}},ra:function(){Z.ra.jb||(Z.ra.jb=0);return"socket["+Z.ra.jb++ +"]"},q:{ka:function(a,b,c){var d;"object"===typeof b&&(d=b,c=b=m);if(d)d._socket?(b=d._socket.remoteAddress,c=d._socket.remotePort):((c=/ws[s]?:\/\/([^:]+):(\d+)/.exec(d.url))||f(Error("WebSocket URL must be in the format ws(s)://address:port")),b=c[1],c=parseInt(c[2],10));else try{var e=s.websocket&&"object"===typeof s.websocket,g="ws:#".replace("#","//"); e&&"string"===typeof s.websocket.url&&(g=s.websocket.url);if("ws://"===g||"wss://"===g)g=g+b+":"+c;var h="binary";e&&"string"===typeof s.websocket.subprotocol&&(h=s.websocket.subprotocol);var h=h.replace(/^ +| +$/g,"").split(/ *, */),k=u?{protocol:h.toString()}:h;d=new (u?require("ws"):window.WebSocket)(g,k);d.binaryType="arraybuffer"}catch(j){f(new U(S.Ib))}b={H:b,port:c,g:d,la:[]};Z.q.eb(a,b);Z.q.dc(a,b);2===a.type&&"undefined"!==typeof a.Z&&b.la.push(new Uint8Array([255,255,255,255,112,111,114, 116,(a.Z&65280)>>8,a.Z&255]));return b},oa:function(a,b,c){return a.ca[b+":"+c]},eb:function(a,b){a.ca[b.H+":"+b.port]=b},zb:function(a,b){delete a.ca[b.H+":"+b.port]},dc:function(a,b){function c(){try{for(var a=b.la.shift();a;)b.g.send(a),a=b.la.shift()}catch(c){b.g.close()}}function d(c){A("string"!==typeof c&&c.byteLength!==i);var c=new Uint8Array(c),d=e;e=n;d&&10===c.length&&255===c[0]&&255===c[1]&&255===c[2]&&255===c[3]&&112===c[4]&&111===c[5]&&114===c[6]&&116===c[7]?(c=c[8]<<8|c[9],Z.q.zb(a, b),b.port=c,Z.q.eb(a,b)):a.W.push({H:b.H,port:b.port,data:c})}var e=l;u?(b.g.on("open",c),b.g.on("message",function(a,b){b.binary&&d((new Uint8Array(a)).buffer)}),b.g.on("error",p())):(b.g.onopen=c,b.g.onmessage=function(a){d(a.data)})},xb:function(a){if(1===a.type&&a.p)return a.Oa.length?65:0;var b=0,c=1===a.type?Z.q.oa(a,a.I,a.J):m;if(a.W.length||!c||c&&c.g.readyState===c.g.ea||c&&c.g.readyState===c.g.CLOSED)b|=65;if(!c||c&&c.g.readyState===c.g.OPEN)b|=4;if(c&&c.g.readyState===c.g.ea||c&&c.g.readyState=== c.g.CLOSED)b|=16;return b},sb:function(a,b,c){switch(b){case 21531:return b=0,a.W.length&&(b=a.W[0].data.length),M[c>>2]=b,0;default:return S.u}},close:function(a){if(a.p){try{a.p.close()}catch(b){}a.p=m}for(var c=Object.keys(a.ca),d=0;d<c.length;d++){var e=a.ca[c[d]];try{e.g.close()}catch(g){}Z.q.zb(a,e)}return 0},bind:function(a,b,c){("undefined"!==typeof a.Sa||"undefined"!==typeof a.Z)&&f(new U(S.u));a.Sa=b;a.Z=c||Xb();if(2===a.type){a.p&&(a.p.close(),a.p=m);try{a.Y.kc(a,0)}catch(d){d instanceof U||f(d),d.kb!==S.Aa&&f(d)}}},Ce:function(a,b,c){a.p&&f(new U(ERRNO_CODS.Aa));if("undefined"!==typeof a.I&&"undefined"!==typeof a.J){var d=Z.q.oa(a,a.I,a.J);d&&(d.g.readyState===d.g.CONNECTING&&f(new U(S.Gb)),f(new U(S.Kb)))}b=Z.q.ka(a,b,c);a.I=b.H;a.J=b.port;f(new U(S.Jb))},kc:function(a){u||f(new U(S.Aa));a.p&&f(new U(S.u));var b=require("ws").Server;a.p=new b({host:a.Sa,port:a.Z});a.p.on("connection",function(b){if(1===a.type){var d=Z.Xb(a.Zb,a.type,a.protocol),b=Z.q.ka(d,b);d.I=b.H;d.J=b.port; a.Oa.push(d)}else Z.q.ka(a,b)});a.p.on("closed",function(){a.p=m});a.p.on("error",p())},accept:function(a){a.p||f(new U(S.u));var b=a.Oa.shift();b.G.K=a.G.K;return b},Le:function(a,b){var c,d;b?((a.I===i||a.J===i)&&f(new U(S.ha)),c=a.I,d=a.J):(c=a.Sa||0,d=a.Z||0);return{H:c,port:d}},sc:function(a,b,c,d,e,g){if(2===a.type){if(e===i||g===i)e=a.I,g=a.J;(e===i||g===i)&&f(new U(S.Hb))}else e=a.I,g=a.J;var h=Z.q.oa(a,e,g);1===a.type&&((!h||h.g.readyState===h.g.ea||h.g.readyState===h.g.CLOSED)&&f(new U(S.ha)), h.g.readyState===h.g.CONNECTING&&f(new U(S.$)));b=b instanceof Array||b instanceof ArrayBuffer?b.slice(c,c+d):b.buffer.slice(b.byteOffset+c,b.byteOffset+c+d);if(2===a.type&&(!h||h.g.readyState!==h.g.OPEN)){if(!h||h.g.readyState===h.g.ea||h.g.readyState===h.g.CLOSED)h=Z.q.ka(a,e,g);h.la.push(b);return d}try{return h.g.send(b),d}catch(k){f(new U(S.u))}},qc:function(a,b){1===a.type&&a.p&&f(new U(S.ha));var c=a.W.shift();if(!c){if(1===a.type){var d=Z.q.oa(a,a.I,a.J);if(d){if(d.g.readyState===d.g.ea|| d.g.readyState===d.g.CLOSED)return m;f(new U(S.$))}f(new U(S.ha))}f(new U(S.$))}var d=c.data.byteLength||c.data.length,e=c.data.byteOffset||0,g=c.data.buffer||c.data,h=Math.min(b,d),k={buffer:new Uint8Array(g,e,h),H:c.H,port:c.port};1===a.type&&h<d&&(c.data=new Uint8Array(g,e+h,d-h),a.W.unshift(c));return k}}};function Yb(a,b,c){a=W[a];if(!a)return bb(S.fa),-1;try{return Qb(a,L,b,c)}catch(d){return wb(d),-1}}function Zb(a){a=W[a-1];return!a?-1:a.B} function $b(a,b,c,d){c*=b;if(0==c)return 0;a=Yb(Zb(d),a,c);if(-1==a){if(b=W[d-1])b.error=l;return 0}return Math.floor(a/b)}s._strlen=ac;function bc(a){return 0>a||0===a&&-Infinity===1/a} function cc(a,b){function c(a){var c;"double"===a?c=wa[b+e>>3]:"i64"==a?c=[M[b+e>>2],M[b+(e+4)>>2]]:(a="i32",c=M[b+e>>2]);e+=z.pb(a);return c}for(var d=a,e=0,g=[],h,k;;){var j=d;h=L[d>>0];if(0===h)break;k=L[d+1>>0];if(37==h){var w=n,E=n,q=n,v=n,C=n;a:for(;;){switch(k){case 43:w=l;break;case 45:E=l;break;case 35:q=l;break;case 48:if(v)break a;else{v=l;break}case 32:C=l;break;default:break a}d++;k=L[d+1>>0]}var G=0;if(42==k)G=c("i32"),d++,k=L[d+1>>0];else for(;48<=k&&57>=k;)G=10*G+(k-48),d++,k=L[d+ 1>>0];var I=n,B=-1;if(46==k){B=0;I=l;d++;k=L[d+1>>0];if(42==k)B=c("i32"),d++;else for(;;){k=L[d+1>>0];if(48>k||57<k)break;B=10*B+(k-48);d++}k=L[d+1>>0]}0>B&&(B=6,I=n);var y;switch(String.fromCharCode(k)){case "h":k=L[d+2>>0];104==k?(d++,y=1):y=2;break;case "l":k=L[d+2>>0];108==k?(d++,y=8):y=4;break;case "L":case "q":case "j":y=8;break;case "z":case "t":case "I":y=4;break;default:y=m}y&&d++;k=L[d+1>>0];switch(String.fromCharCode(k)){case "d":case "i":case "u":case "o":case "x":case "X":case "p":j= 100==k||105==k;y=y||4;h=c("i"+8*y);var r;8==y&&(h=z.lc(h[0],h[1],117==k));4>=y&&(h=(j?Ua:Ta)(h&Math.pow(256,y)-1,8*y));var Y=Math.abs(h),j="";if(100==k||105==k)r=Ua(h,8*y).toString(10);else if(117==k)r=Ta(h,8*y).toString(10),h=Math.abs(h);else if(111==k)r=(q?"0":"")+Y.toString(8);else if(120==k||88==k){j=q&&0!=h?"0x":"";if(0>h){h=-h;r=(Y-1).toString(16);Y=[];for(q=0;q<r.length;q++)Y.push((15-parseInt(r[q],16)).toString(16));for(r=Y.join("");r.length<2*y;)r="f"+r}else r=Y.toString(16);88==k&&(j=j.toUpperCase(), r=r.toUpperCase())}else 112==k&&(0===Y?r="(nil)":(j="0x",r=Y.toString(16)));if(I)for(;r.length<B;)r="0"+r;0<=h&&(w?j="+"+j:C&&(j=" "+j));"-"==r.charAt(0)&&(j="-"+j,r=r.substr(1));for(;j.length+r.length<G;)E?r+=" ":v?r="0"+r:j=" "+j;r=j+r;r.split("").forEach(function(a){g.push(a.charCodeAt(0))});break;case "f":case "F":case "e":case "E":case "g":case "G":h=c("double");if(isNaN(h))r="nan",v=n;else if(isFinite(h)){I=n;y=Math.min(B,20);if(103==k||71==k)I=l,B=B||1,y=parseInt(h.toExponential(y).split("e")[1], 10),B>y&&-4<=y?(k=(103==k?"f":"F").charCodeAt(0),B-=y+1):(k=(103==k?"e":"E").charCodeAt(0),B--),y=Math.min(B,20);if(101==k||69==k)r=h.toExponential(y),/[eE][-+]\d$/.test(r)&&(r=r.slice(0,-1)+"0"+r.slice(-1));else if(102==k||70==k)r=h.toFixed(y),0===h&&bc(h)&&(r="-"+r);j=r.split("e");if(I&&!q)for(;1<j[0].length&&-1!=j[0].indexOf(".")&&("0"==j[0].slice(-1)||"."==j[0].slice(-1));)j[0]=j[0].slice(0,-1);else for(q&&-1==r.indexOf(".")&&(j[0]+=".");B>y++;)j[0]+="0";r=j[0]+(1<j.length?"e"+j[1]:"");69==k&& (r=r.toUpperCase());0<=h&&(w?r="+"+r:C&&(r=" "+r))}else r=(0>h?"-":"")+"inf",v=n;for(;r.length<G;)r=E?r+" ":v&&("-"==r[0]||"+"==r[0])?r[0]+"0"+r.slice(1):(v?"0":" ")+r;97>k&&(r=r.toUpperCase());r.split("").forEach(function(a){g.push(a.charCodeAt(0))});break;case "s":v=(w=c("i8*"))?ac(w):6;I&&(v=Math.min(v,B));if(!E)for(;v<G--;)g.push(32);if(w)for(q=0;q<v;q++)g.push(O[w++>>0]);else g=g.concat(K("(null)".substr(0,v),l));if(E)for(;v<G--;)g.push(32);break;case "c":for(E&&g.push(c("i8"));0<--G;)g.push(32); E||g.push(c("i8"));break;case "n":E=c("i32*");M[E>>2]=g.length;break;case "%":g.push(h);break;default:for(q=j;q<d+2;q++)g.push(L[q>>0])}d+=2}else g.push(h),d+=1}return g}function dc(a,b,c){c=cc(b,c);b=z.Wa();a=$b(N(c,"i8",xa),1,c.length,a);z.Va(b);return a}function ec(a,b){return Yb(Zb(b),a,ac(a))}function fc(a,b){var c=Ta(a&255);L[fc.Ab>>0]=c;if(-1==Yb(Zb(b),fc.Ab,1)){if(c=W[b-1])c.error=l;return-1}return c}s._memset=gc;var hc=n,ic=n,jc=n,kc=n,lc=i,mc=i; function nc(a){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[a.substr(a.lastIndexOf(".")+1)]}var oc=[];function pc(){var a=s.canvas;oc.forEach(function(b){b(a.width,a.height)})} function qc(a,b,c){b&&c?(a.wc=b,a.ec=c):(b=a.wc,c=a.ec);var d=b,e=c;s.forcedAspectRatio&&0<s.forcedAspectRatio&&(d/e<s.forcedAspectRatio?d=Math.round(e*s.forcedAspectRatio):e=Math.round(d/s.forcedAspectRatio));if((document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)=== a.parentNode&&"undefined"!=typeof screen)var g=Math.min(screen.width/d,screen.height/e),d=Math.round(d*g),e=Math.round(e*g);mc?(a.width!=d&&(a.width=d),a.height!=e&&(a.height=e),"undefined"!=typeof a.style&&(a.style.removeProperty("width"),a.style.removeProperty("height"))):(a.width!=b&&(a.width=b),a.height!=c&&(a.height=c),"undefined"!=typeof a.style&&(d!=b||e!=c?(a.style.setProperty("width",d+"px","important"),a.style.setProperty("height",e+"px","important")):(a.style.removeProperty("width"),a.style.removeProperty("height"))))} var rc,sc,tc,uc;function vc(a){vc.Vb||(J=J+4095&-4096,vc.Vb=l,A(z.ma),vc.Sb=z.ma,z.ma=function(){F("cannot dynamically allocate, sbrk now has control")});var b=J;0!=a&&vc.Sb(a);return b}s._llvm_bswap_i32=wc;s._memcpy=xc;Rb();tb=Array(4096);Gb(V,"/");Jb("/tmp");Jb("/dev");hb[259]={k:{N:function(){return 0},write:function(){return 0}}};Kb("/dev/null",259); gb(1280,{rb:function(a){if(!a.input.length){var b=m;if(u){if(b=process.stdin.read(),!b){if(process.stdin._readableState&&process.stdin._readableState.ended)return m;return}}else"undefined"!=typeof window&&"function"==typeof window.prompt?(b=window.prompt("Input: "),b!==m&&(b+="\n")):"function"==typeof readline&&(b=readline(),b!==m&&(b+="\n"));if(!b)return m;a.input=K(b,l)}return a.input.shift()},sa:function(a,b){b===m||10===b?(s.print(a.R.join("")),a.R=[]):a.R.push(yc.Pa(b))}}); gb(1536,{sa:function(a,b){b===m||10===b?(s.printErr(a.R.join("")),a.R=[]):a.R.push(yc.Pa(b))}});Kb("/dev/tty",1280);Kb("/dev/tty1",1536);Jb("/dev/shm");Jb("/dev/shm/tmp"); Ma.unshift({V:function(){if(!s.noFSInit&&!Sb){A(!Sb,"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)");Sb=l;Rb();s.stdin=s.stdin;s.stdout=s.stdout;s.stderr=s.stderr;s.stdin?Vb("/dev","stdin",s.stdin):Lb("/dev/tty","/dev/stdin");s.stdout?Vb("/dev","stdout",m,s.stdout):Lb("/dev/tty","/dev/stdout");s.stderr?Vb("/dev","stderr",m,s.stderr):Lb("/dev/tty1","/dev/stderr");var a=Nb("/dev/stdin", "r");M[nb>>2]=a?a.B+1:0;A(0===a.B,"invalid handle for stdin ("+a.B+")");a=Nb("/dev/stdout","w");M[ob>>2]=a?a.B+1:0;A(1===a.B,"invalid handle for stdout ("+a.B+")");a=Nb("/dev/stderr","w");M[pb>>2]=a?a.B+1:0;A(2===a.B,"invalid handle for stderr ("+a.B+")")}}});Na.push({V:function(){ub=n}});Oa.push({V:function(){Sb=n;for(var a=0;a<W.length;a++){var b=W[a];b&&Pb(b)}}});s.FS_createFolder=function(a,b,c,d){a=T(("string"===typeof a?a:xb(a))+"/"+b);return Jb(a,Tb(c,d))}; s.FS_createPath=function(a,b){for(var a="string"===typeof a?a:xb(a),c=b.split("/").reverse();c.length;){var d=c.pop();if(d){var e=T(a+"/"+d);try{Jb(e)}catch(g){}a=e}}return e};s.FS_createDataFile=Ub; s.FS_createPreloadedFile=function(a,b,c,d,e,g,h,k,j){function w(c){function r(c){k||Ub(a,b,c,d,e,j);g&&g();Ya()}var q=n;s.preloadPlugins.forEach(function(a){!q&&a.canHandle(C)&&(a.handle(c,C,r,function(){h&&h();Ya()}),q=l)});q||r(c)}s.preloadPlugins||(s.preloadPlugins=[]);if(!rc&&!ca){rc=l;try{new Blob,sc=l}catch(E){sc=n,console.log("warning: no blob constructor, cannot create blobs with mimetypes")}tc="undefined"!=typeof MozBlobBuilder?MozBlobBuilder:"undefined"!=typeof WebKitBlobBuilder?WebKitBlobBuilder: !sc?console.log("warning: no BlobBuilder"):m;uc="undefined"!=typeof window?window.URL?window.URL:window.webkitURL:i;!s.wb&&"undefined"===typeof uc&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),s.wb=l);s.preloadPlugins.push({canHandle:function(a){return!s.wb&&/\.(jpg|jpeg|png|bmp)$/i.test(a)},handle:function(a,b,c,d){var e=m;if(sc)try{e=new Blob([a],{type:nc(b)}),e.size!==a.length&&(e=new Blob([(new Uint8Array(a)).buffer], {type:nc(b)}))}catch(g){z.da("Blob constructor present but fails: "+g+"; falling back to blob builder")}e||(e=new tc,e.append((new Uint8Array(a)).buffer),e=e.getBlob());var h=uc.createObjectURL(e),k=new Image;k.onload=function(){A(k.complete,"Image "+b+" could not be decoded");var d=document.createElement("canvas");d.width=k.width;d.height=k.height;d.getContext("2d").drawImage(k,0,0);s.preloadedImages[b]=d;uc.revokeObjectURL(h);c&&c(a)};k.onerror=function(){console.log("Image "+h+" could not be decoded"); d&&d()};k.src=h}});s.preloadPlugins.push({canHandle:function(a){return!s.Ve&&a.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},handle:function(a,b,c,d){function e(d){h||(h=l,s.preloadedAudios[b]=d,c&&c(a))}function g(){h||(h=l,s.preloadedAudios[b]=new Audio,d&&d())}var h=n;if(sc){try{var k=new Blob([a],{type:nc(b)})}catch(j){return g()}var k=uc.createObjectURL(k),q=new Audio;q.addEventListener("canplaythrough",function(){e(q)},n);q.onerror=function(){if(!h){console.log("warning: browser could not fully decode audio "+ b+", trying slower base64 approach");for(var c="",d=0,g=0,k=0;k<a.length;k++){d=d<<8|a[k];for(g+=8;6<=g;)var j=d>>g-6&63,g=g-6,c=c+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[j]}2==g?(c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(d&3)<<4],c+="=="):4==g&&(c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(d&15)<<2],c+="=");q.src="data:audio/x-"+b.substr(-3)+";base64,"+c;e(q)}};q.src=k;s.noExitRuntime=l;setTimeout(function(){ja||e(q)}, 1E4)}else return g()}});var q=s.canvas;if(q){q.Ra=q.requestPointerLock||q.mozRequestPointerLock||q.webkitRequestPointerLock||q.msRequestPointerLock||p();q.lb=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||p();q.lb=q.lb.bind(document);var v=function(){jc=document.pointerLockElement===q||document.mozPointerLockElement===q||document.webkitPointerLockElement===q||document.msPointerLockElement===q};document.addEventListener("pointerlockchange", v,n);document.addEventListener("mozpointerlockchange",v,n);document.addEventListener("webkitpointerlockchange",v,n);document.addEventListener("mspointerlockchange",v,n);s.elementPointerLock&&q.addEventListener("click",function(a){!jc&&q.Ra&&(q.Ra(),a.preventDefault())},n)}}var C=b?eb(T(a+"/"+b)):a;Xa();if("string"==typeof c){var G=h,I=function(){G?G():f('Loading data file "'+c+'" failed.')},B=new XMLHttpRequest;B.open("GET",c,l);B.responseType="arraybuffer";B.onload=function(){if(200==B.status||0== B.status&&B.response){var a=B.response;A(a,'Loading data file "'+c+'" failed (no arrayBuffer).');a=new Uint8Array(a);w(a);Ya()}else I()};B.onerror=I;B.send(m);Xa()}else w(c)}; s.FS_createLazyFile=function(a,b,c,d,e){var g,h;function k(){this.Ma=n;this.ia=[]}k.prototype.get=function(a){if(!(a>this.length-1||0>a)){var b=a%this.Wb;return this.cc(Math.floor(a/this.Wb))[b]}};k.prototype.tc=function(a){this.cc=a};k.prototype.gb=function(){var a=new XMLHttpRequest;a.open("HEAD",c,n);a.send(m);200<=a.status&&300>a.status||304===a.status||f(Error("Couldn't load "+c+". Status: "+a.status));var b=Number(a.getResponseHeader("Content-length")),d,e=1048576;if(!((d=a.getResponseHeader("Accept-Ranges"))&& "bytes"===d))e=b;var g=this;g.tc(function(a){var d=a*e,h=(a+1)*e-1,h=Math.min(h,b-1);if("undefined"===typeof g.ia[a]){var k=g.ia;d>h&&f(Error("invalid range ("+d+", "+h+") or no bytes requested!"));h>b-1&&f(Error("only "+b+" bytes available! programmer error!"));var j=new XMLHttpRequest;j.open("GET",c,n);b!==e&&j.setRequestHeader("Range","bytes="+d+"-"+h);"undefined"!=typeof Uint8Array&&(j.responseType="arraybuffer");j.overrideMimeType&&j.overrideMimeType("text/plain; charset=x-user-defined");j.send(m); 200<=j.status&&300>j.status||304===j.status||f(Error("Couldn't load "+c+". Status: "+j.status));d=j.response!==i?new Uint8Array(j.response||[]):K(j.responseText||"",l);k[a]=d}"undefined"===typeof g.ia[a]&&f(Error("doXHR failed!"));return g.ia[a]});this.Rb=b;this.Qb=e;this.Ma=l};"undefined"!==typeof XMLHttpRequest?(ca||f("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"),g=new k,Object.defineProperty(g,"length",{get:function(){this.Ma|| this.gb();return this.Rb}}),Object.defineProperty(g,"chunkSize",{get:function(){this.Ma||this.gb();return this.Qb}}),h=i):(h=c,g=i);var j,a=T(("string"===typeof a?a:xb(a))+"/"+b);j=Ib(a,Tb(d,e));g?j.o=g:h&&(j.o=m,j.url=h);var w={};Object.keys(j.k).forEach(function(a){var b=j.k[a];w[a]=function(){Wb(j)||f(new U(S.O));return b.apply(m,arguments)}});w.N=function(a,b,c,d,e){Wb(j)||f(new U(S.O));a=a.e.o;if(e>=a.length)return 0;d=Math.min(a.length-e,d);A(0<=d);if(a.slice)for(var g=0;g<d;g++)b[c+g]=a[e+ g];else for(g=0;g<d;g++)b[c+g]=a.get(e+g);return d};j.k=w;return j};s.FS_createLink=function(a,b,c){a=T(("string"===typeof a?a:xb(a))+"/"+b);return Lb(c,a)};s.FS_createDevice=Vb;ab=z.Cb(4);M[ab>>2]=0;Ma.unshift({V:p()});Oa.push({V:p()});var yc=new z.Ca;u&&(require("fs"),process.platform.match(/^win/));Ma.push({V:function(){Z.root=Gb(Z,m)}});fc.Ab=N([0],"i8",ya); s.requestFullScreen=function(a,b){function c(){ic=n;var a=d.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===a?(d.hb=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen|| p(),d.hb=d.hb.bind(document),lc&&d.Ra(),ic=l,mc&&("undefined"!=typeof SDL&&(a=Ea[SDL.screen+0*z.P>>2],M[SDL.screen+0*z.P>>2]=a|8388608),pc())):(a.parentNode.insertBefore(d,a),a.parentNode.removeChild(a),mc&&("undefined"!=typeof SDL&&(a=Ea[SDL.screen+0*z.P>>2],M[SDL.screen+0*z.P>>2]=a&-8388609),pc()));if(s.onFullScreen)s.onFullScreen(ic);qc(d)}lc=a;mc=b;"undefined"===typeof lc&&(lc=l);"undefined"===typeof mc&&(mc=n);var d=s.canvas;kc||(kc=l,document.addEventListener("fullscreenchange",c,n),document.addEventListener("mozfullscreenchange", c,n),document.addEventListener("webkitfullscreenchange",c,n),document.addEventListener("MSFullscreenChange",c,n));var e=document.createElement("div");d.parentNode.insertBefore(e,d);e.appendChild(d);e.rc=e.requestFullScreen||e.mozRequestFullScreen||e.msRequestFullscreen||(e.webkitRequestFullScreen?function(){e.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:m);e.rc()}; s.requestAnimationFrame=function(a){"undefined"===typeof window?setTimeout(a,1E3/60):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||window.setTimeout),window.requestAnimationFrame(a))};s.setCanvasSize=function(a,b,c){qc(s.canvas,a,b);c||pc()};s.pauseMainLoop=p();s.resumeMainLoop=function(){hc&&(hc=n,m())}; s.getUserMedia=function(){window.qb||(window.qb=navigator.getUserMedia||navigator.mozGetUserMedia);window.qb(i)};Ga=x=z.T(H);Ha=Ga+5242880;Ia=J=z.T(Ha);A(Ia<ia,"TOTAL_MEMORY not big enough for stack");sa=Math.min; var $=(function(global,env,buffer) { "use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=0;var n=0;var o=0;var p=0;var q=+env.NaN,r=+env.Infinity;var s=0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0,A=0.0;var B=0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=global.Math.floor;var M=global.Math.abs;var N=global.Math.sqrt;var O=global.Math.pow;var P=global.Math.cos;var Q=global.Math.sin;var R=global.Math.tan;var S=global.Math.acos;var T=global.Math.asin;var U=global.Math.atan;var V=global.Math.atan2;var W=global.Math.exp;var X=global.Math.log;var Y=global.Math.ceil;var Z=global.Math.imul;var _=env.abort;var $=env.assert;var aa=env.asmPrintInt;var ba=env.asmPrintFloat;var ca=env.min;var da=env.invoke_iiii;var ea=env.invoke_vii;var fa=env.invoke_iii;var ga=env._send;var ha=env.___setErrNo;var ia=env.___assert_fail;var ja=env._fflush;var ka=env._pwrite;var la=env._fprintf;var ma=env.__reallyNegative;var na=env._sbrk;var oa=env._emscripten_memcpy_big;var pa=env._fileno;var qa=env._sysconf;var ra=env._puts;var sa=env._printf;var ta=env._write;var ua=env.___errno_location;var va=env._fputc;var wa=env._abort;var xa=env._fwrite;var ya=env._time;var za=env._mkport;var Aa=env.__formatString;var Ba=env._fputs;var Ca=0.0; function Ga(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+7&-8;return b|0}function Ha(){return i|0}function Ia(a){a=a|0;i=a}function Ja(a,b){a=a|0;b=b|0;if((m|0)==0){m=a;n=b}}function Ka(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function La(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function Ma(a){a=a|0;B=a}function Na(){return B|0}function Oa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;g=h;f=h+12|0;e=h+8|0;j=Ra(b)|0;k=c[2]|0;if((k|0)==0){k=ub(j)|0;c[2]=k}if((c[4]|0)==0){c[4]=ub(b)|0}c[f>>2]=j;Qa(k,f,a,b)|0;d=(d|0)==0;if(d){k=c[f>>2]|0;c[g>>2]=b;c[g+4>>2]=k;sa(24,g|0)|0}c[e>>2]=b;jb(c[4]|0,e,c[2]|0,c[f>>2]|0)|0;if((c[e>>2]|0)!=(b|0)){ia(40,72,24,104)}if(!d){i=h;return}if((wb(a,c[4]|0)|0)==0){i=h;return}else{ia(112,72,25,104)}}function Pa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e;a:do{if((b|0)>1){b=a[c[d+4>>2]>>0]|0;switch(b|0){case 51:{g=4;break a};case 52:{f=2500;break a};case 53:{f=5e3;break a};case 49:{f=60;break a};case 50:{f=250;break a};case 48:{h=0;i=e;return h|0};default:{c[f>>2]=b+ -48;sa(144,f|0)|0;h=-1;i=e;return h|0}}}else{g=4}}while(0);if((g|0)==4){f=500}g=ub(1e5)|0;b=0;h=0;d=17;while(1){do{if((h|0)<=0){if((b&7|0)==0){h=b&31;d=0;break}else{d=(((Z(b,b)|0)>>>0)%6714|0)&255;break}}else{h=h+ -1|0}}while(0);a[g+b>>0]=d;b=b+1|0;if((b|0)==1e5){b=0;break}}do{Oa(g,1e5,b);b=b+1|0}while((b|0)<(f|0));ra(160)|0;h=0;i=e;return h|0}function Qa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+64|0;g=f;c[g>>2]=d;c[g+4>>2]=e;c[g+12>>2]=a;c[g+16>>2]=c[b>>2];c[g+32>>2]=0;c[g+36>>2]=0;c[g+40>>2]=0;a=Sa(g,-1,168,56)|0;if((a|0)!=0){d=a;i=f;return d|0}a=Wa(g,4)|0;if((a|0)==1){c[b>>2]=c[g+20>>2];d=Ua(g)|0;i=f;return d|0}else{Ua(g)|0;d=(a|0)==0?-5:a;i=f;return d|0}return 0}function Ra(a){a=a|0;return a+13+(a>>>12)+(a>>>14)+(a>>>25)|0}function Sa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=i;a=Ta(a,b,8,15,8,0,c,d)|0;i=e;return a|0}function Ta(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;l=i;if((j|0)==0){o=-6;i=l;return o|0}if(!((a[j>>0]|0)==49&(k|0)==56)){o=-6;i=l;return o|0}if((b|0)==0){o=-2;i=l;return o|0}j=b+24|0;c[j>>2]=0;k=b+32|0;m=c[k>>2]|0;if((m|0)==0){c[k>>2]=1;c[b+40>>2]=0;m=1}n=b+36|0;if((c[n>>2]|0)==0){c[n>>2]=1}d=(d|0)==-1?6:d;if((f|0)<0){f=0-f|0;n=0}else{n=(f|0)>15;f=n?f+ -16|0:f;n=n?2:1}if(!((g+ -1|0)>>>0<9&(e|0)==8)){o=-2;i=l;return o|0}if((f+ -8|0)>>>0>7|d>>>0>9|h>>>0>4){o=-2;i=l;return o|0}o=(f|0)==8?9:f;f=b+40|0;e=Da[m&1](c[f>>2]|0,1,5828)|0;if((e|0)==0){o=-4;i=l;return o|0}c[b+28>>2]=e;c[e>>2]=b;c[e+24>>2]=n;c[e+28>>2]=0;c[e+48>>2]=o;q=1<<o;n=e+44|0;c[n>>2]=q;c[e+52>>2]=q+ -1;o=g+7|0;c[e+80>>2]=o;o=1<<o;p=e+76|0;c[p>>2]=o;c[e+84>>2]=o+ -1;c[e+88>>2]=((g+9|0)>>>0)/3|0;o=e+56|0;c[o>>2]=Da[c[k>>2]&1](c[f>>2]|0,q,2)|0;q=Da[c[k>>2]&1](c[f>>2]|0,c[n>>2]|0,2)|0;m=e+64|0;c[m>>2]=q;zb(q|0,0,c[n>>2]<<1|0)|0;n=e+68|0;c[n>>2]=Da[c[k>>2]&1](c[f>>2]|0,c[p>>2]|0,2)|0;c[e+5824>>2]=0;g=1<<g+6;p=e+5788|0;c[p>>2]=g;g=Da[c[k>>2]&1](c[f>>2]|0,g,4)|0;c[e+8>>2]=g;k=c[p>>2]|0;c[e+12>>2]=k<<2;if(((c[o>>2]|0)!=0?(c[m>>2]|0)!=0:0)?!((c[n>>2]|0)==0|(g|0)==0):0){c[e+5796>>2]=g+(k>>>1<<1);c[e+5784>>2]=g+(k*3|0);c[e+132>>2]=d;c[e+136>>2]=h;a[e+36>>0]=8;q=Va(b)|0;i=l;return q|0}c[e+4>>2]=666;c[j>>2]=c[3176>>2];Ua(b)|0;q=-4;i=l;return q|0}function Ua(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=i;if((a|0)==0){h=-2;i=e;return h|0}b=a+28|0;g=c[b>>2]|0;if((g|0)==0){h=-2;i=e;return h|0}d=c[g+4>>2]|0;switch(d|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:{break};default:{h=-2;i=e;return h|0}}f=c[g+8>>2]|0;if((f|0)!=0){Ea[c[a+36>>2]&1](c[a+40>>2]|0,f);g=c[b>>2]|0}f=c[g+68>>2]|0;if((f|0)!=0){Ea[c[a+36>>2]&1](c[a+40>>2]|0,f);g=c[b>>2]|0}f=c[g+64>>2]|0;if((f|0)!=0){Ea[c[a+36>>2]&1](c[a+40>>2]|0,f);g=c[b>>2]|0}h=c[g+56>>2]|0;f=a+36|0;if((h|0)==0){a=a+40|0}else{a=a+40|0;Ea[c[f>>2]&1](c[a>>2]|0,h);g=c[b>>2]|0}Ea[c[f>>2]&1](c[a>>2]|0,g);c[b>>2]=0;h=(d|0)==113?-3:0;i=e;return h|0}function Va(a){a=a|0;var d=0,f=0,g=0,h=0;d=i;if((a|0)==0){h=-2;i=d;return h|0}f=c[a+28>>2]|0;if((f|0)==0){h=-2;i=d;return h|0}if((c[a+32>>2]|0)==0){h=-2;i=d;return h|0}if((c[a+36>>2]|0)==0){h=-2;i=d;return h|0}c[a+20>>2]=0;c[a+8>>2]=0;c[a+24>>2]=0;c[a+44>>2]=2;c[f+20>>2]=0;c[f+16>>2]=c[f+8>>2];g=f+24|0;h=c[g>>2]|0;if((h|0)<0){h=0-h|0;c[g>>2]=h}c[f+4>>2]=(h|0)!=0?42:113;if((h|0)==2){g=nb(0,0,0)|0}else{g=mb(0,0,0)|0}c[a+48>>2]=g;c[f+40>>2]=0;ab(f);c[f+60>>2]=c[f+44>>2]<<1;h=c[f+76>>2]|0;g=c[f+68>>2]|0;b[g+(h+ -1<<1)>>1]=0;zb(g|0,0,(h<<1)+ -2|0)|0;h=c[f+132>>2]|0;c[f+128>>2]=e[178+(h*12|0)>>1]|0;c[f+140>>2]=e[176+(h*12|0)>>1]|0;c[f+144>>2]=e[180+(h*12|0)>>1]|0;c[f+124>>2]=e[182+(h*12|0)>>1]|0;c[f+108>>2]=0;c[f+92>>2]=0;c[f+116>>2]=0;c[f+120>>2]=2;c[f+96>>2]=2;c[f+112>>2]=0;c[f+104>>2]=0;c[f+72>>2]=0;h=0;i=d;return h|0}function Wa(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;g=i;if((e|0)==0){P=-2;i=g;return P|0}k=e+28|0;m=c[k>>2]|0;if((m|0)==0|f>>>0>5){P=-2;i=g;return P|0}j=e+12|0;do{if((c[j>>2]|0)!=0){if((c[e>>2]|0)==0?(c[e+4>>2]|0)!=0:0){break}p=m+4|0;H=c[p>>2]|0;o=(f|0)==4;if((H|0)!=666|o){h=e+16|0;if((c[h>>2]|0)==0){c[e+24>>2]=c[3180>>2];P=-5;i=g;return P|0}c[m>>2]=e;n=m+40|0;w=c[n>>2]|0;c[n>>2]=f;do{if((H|0)==42){if((c[m+24>>2]|0)!=2){v=(c[m+48>>2]<<12)+ -30720|0;if((c[m+136>>2]|0)<=1?(G=c[m+132>>2]|0,(G|0)>=2):0){if((G|0)<6){G=64}else{G=(G|0)==6?128:192}}else{G=0}G=G|v;v=m+108|0;P=(c[v>>2]|0)==0?G:G|32;c[p>>2]=113;H=m+20|0;I=c[H>>2]|0;c[H>>2]=I+1;G=m+8|0;a[(c[G>>2]|0)+I>>0]=P>>>8;I=c[H>>2]|0;c[H>>2]=I+1;a[(c[G>>2]|0)+I>>0]=(P|((P>>>0)%31|0))^31;I=e+48|0;if((c[v>>2]|0)!=0){P=c[I>>2]|0;O=c[H>>2]|0;c[H>>2]=O+1;a[(c[G>>2]|0)+O>>0]=P>>>24;O=c[H>>2]|0;c[H>>2]=O+1;a[(c[G>>2]|0)+O>>0]=P>>>16;O=c[I>>2]|0;P=c[H>>2]|0;c[H>>2]=P+1;a[(c[G>>2]|0)+P>>0]=O>>>8;P=c[H>>2]|0;c[H>>2]=P+1;a[(c[G>>2]|0)+P>>0]=O}c[I>>2]=mb(0,0,0)|0;K=c[p>>2]|0;v=32;break}J=e+48|0;c[J>>2]=nb(0,0,0)|0;I=m+20|0;G=c[I>>2]|0;c[I>>2]=G+1;H=m+8|0;a[(c[H>>2]|0)+G>>0]=31;G=c[I>>2]|0;c[I>>2]=G+1;a[(c[H>>2]|0)+G>>0]=-117;G=c[I>>2]|0;c[I>>2]=G+1;a[(c[H>>2]|0)+G>>0]=8;G=m+28|0;L=c[G>>2]|0;if((L|0)==0){A=c[I>>2]|0;c[I>>2]=A+1;a[(c[H>>2]|0)+A>>0]=0;A=c[I>>2]|0;c[I>>2]=A+1;a[(c[H>>2]|0)+A>>0]=0;A=c[I>>2]|0;c[I>>2]=A+1;a[(c[H>>2]|0)+A>>0]=0;A=c[I>>2]|0;c[I>>2]=A+1;a[(c[H>>2]|0)+A>>0]=0;A=c[I>>2]|0;c[I>>2]=A+1;a[(c[H>>2]|0)+A>>0]=0;A=c[m+132>>2]|0;if((A|0)!=9){if((c[m+136>>2]|0)>1){A=4}else{A=(A|0)<2?4:0}}else{A=2}P=c[I>>2]|0;c[I>>2]=P+1;a[(c[H>>2]|0)+P>>0]=A;P=c[I>>2]|0;c[I>>2]=P+1;a[(c[H>>2]|0)+P>>0]=3;c[p>>2]=113;break}P=(((c[L+44>>2]|0)!=0?2:0)|(c[L>>2]|0)!=0|((c[L+16>>2]|0)==0?0:4)|((c[L+28>>2]|0)==0?0:8)|((c[L+36>>2]|0)==0?0:16))&255;v=c[I>>2]|0;c[I>>2]=v+1;a[(c[H>>2]|0)+v>>0]=P;v=c[(c[G>>2]|0)+4>>2]&255;P=c[I>>2]|0;c[I>>2]=P+1;a[(c[H>>2]|0)+P>>0]=v;P=(c[(c[G>>2]|0)+4>>2]|0)>>>8&255;v=c[I>>2]|0;c[I>>2]=v+1;a[(c[H>>2]|0)+v>>0]=P;v=(c[(c[G>>2]|0)+4>>2]|0)>>>16&255;P=c[I>>2]|0;c[I>>2]=P+1;a[(c[H>>2]|0)+P>>0]=v;P=(c[(c[G>>2]|0)+4>>2]|0)>>>24&255;v=c[I>>2]|0;c[I>>2]=v+1;a[(c[H>>2]|0)+v>>0]=P;v=c[m+132>>2]|0;if((v|0)!=9){if((c[m+136>>2]|0)>1){v=4}else{v=(v|0)<2?4:0}}else{v=2}P=c[I>>2]|0;c[I>>2]=P+1;a[(c[H>>2]|0)+P>>0]=v;P=c[(c[G>>2]|0)+12>>2]&255;v=c[I>>2]|0;c[I>>2]=v+1;a[(c[H>>2]|0)+v>>0]=P;v=c[G>>2]|0;if((c[v+16>>2]|0)!=0){v=c[v+20>>2]&255;P=c[I>>2]|0;c[I>>2]=P+1;a[(c[H>>2]|0)+P>>0]=v;P=(c[(c[G>>2]|0)+20>>2]|0)>>>8&255;v=c[I>>2]|0;c[I>>2]=v+1;a[(c[H>>2]|0)+v>>0]=P;v=c[G>>2]|0}if((c[v+44>>2]|0)!=0){c[J>>2]=nb(c[J>>2]|0,c[H>>2]|0,c[I>>2]|0)|0}c[m+32>>2]=0;c[p>>2]=69;v=34}else{K=H;v=32}}while(0);if((v|0)==32){if((K|0)==69){G=m+28|0;v=34}else{v=55}}do{if((v|0)==34){O=c[G>>2]|0;if((c[O+16>>2]|0)==0){c[p>>2]=73;v=57;break}H=m+20|0;N=c[H>>2]|0;v=m+32|0;P=c[v>>2]|0;a:do{if(P>>>0<(c[O+20>>2]&65535)>>>0){I=m+12|0;K=e+48|0;J=m+8|0;L=e+20|0;M=N;while(1){if((M|0)==(c[I>>2]|0)){if((c[O+44>>2]|0)!=0&M>>>0>N>>>0){c[K>>2]=nb(c[K>>2]|0,(c[J>>2]|0)+N|0,M-N|0)|0}M=c[k>>2]|0;O=c[M+20>>2]|0;N=c[h>>2]|0;N=O>>>0>N>>>0?N:O;if((N|0)!=0?(Bb(c[j>>2]|0,c[M+16>>2]|0,N|0)|0,c[j>>2]=(c[j>>2]|0)+N,F=(c[k>>2]|0)+16|0,c[F>>2]=(c[F>>2]|0)+N,c[L>>2]=(c[L>>2]|0)+N,c[h>>2]=(c[h>>2]|0)-N,F=c[k>>2]|0,O=F+20|0,P=c[O>>2]|0,c[O>>2]=P-N,(P|0)==(N|0)):0){c[F+16>>2]=c[F+8>>2]}N=c[H>>2]|0;if((N|0)==(c[I>>2]|0)){break}O=c[G>>2]|0;P=c[v>>2]|0;M=N}P=a[(c[O+16>>2]|0)+P>>0]|0;c[H>>2]=M+1;a[(c[J>>2]|0)+M>>0]=P;P=(c[v>>2]|0)+1|0;c[v>>2]=P;O=c[G>>2]|0;if(!(P>>>0<(c[O+20>>2]&65535)>>>0)){break a}M=c[H>>2]|0}O=c[G>>2]|0}}while(0);if((c[O+44>>2]|0)!=0?(E=c[H>>2]|0,E>>>0>N>>>0):0){O=e+48|0;c[O>>2]=nb(c[O>>2]|0,(c[m+8>>2]|0)+N|0,E-N|0)|0;O=c[G>>2]|0}if((c[v>>2]|0)==(c[O+20>>2]|0)){c[v>>2]=0;c[p>>2]=73;v=57;break}else{K=c[p>>2]|0;v=55;break}}}while(0);if((v|0)==55){if((K|0)==73){O=c[m+28>>2]|0;v=57}else{v=76}}do{if((v|0)==57){E=m+28|0;if((c[O+28>>2]|0)==0){c[p>>2]=91;v=78;break}F=m+20|0;N=c[F>>2]|0;K=m+12|0;H=e+48|0;G=m+8|0;J=e+20|0;I=m+32|0;L=N;while(1){if((L|0)==(c[K>>2]|0)){if((c[(c[E>>2]|0)+44>>2]|0)!=0&L>>>0>N>>>0){c[H>>2]=nb(c[H>>2]|0,(c[G>>2]|0)+N|0,L-N|0)|0}L=c[k>>2]|0;M=c[L+20>>2]|0;N=c[h>>2]|0;M=M>>>0>N>>>0?N:M;if((M|0)!=0?(Bb(c[j>>2]|0,c[L+16>>2]|0,M|0)|0,c[j>>2]=(c[j>>2]|0)+M,D=(c[k>>2]|0)+16|0,c[D>>2]=(c[D>>2]|0)+M,c[J>>2]=(c[J>>2]|0)+M,c[h>>2]=(c[h>>2]|0)-M,D=c[k>>2]|0,O=D+20|0,P=c[O>>2]|0,c[O>>2]=P-M,(P|0)==(M|0)):0){c[D+16>>2]=c[D+8>>2]}N=c[F>>2]|0;if((N|0)==(c[K>>2]|0)){D=1;break}else{L=N}}M=c[I>>2]|0;c[I>>2]=M+1;M=a[(c[(c[E>>2]|0)+28>>2]|0)+M>>0]|0;c[F>>2]=L+1;a[(c[G>>2]|0)+L>>0]=M;if(M<<24>>24==0){v=68;break}L=c[F>>2]|0}if((v|0)==68){D=M&255}if((c[(c[E>>2]|0)+44>>2]|0)!=0?(C=c[F>>2]|0,C>>>0>N>>>0):0){c[H>>2]=nb(c[H>>2]|0,(c[G>>2]|0)+N|0,C-N|0)|0}if((D|0)==0){c[I>>2]=0;c[p>>2]=91;v=78;break}else{K=c[p>>2]|0;v=76;break}}}while(0);if((v|0)==76){if((K|0)==91){E=m+28|0;v=78}else{v=97}}do{if((v|0)==78){if((c[(c[E>>2]|0)+36>>2]|0)==0){c[p>>2]=103;v=99;break}C=m+20|0;K=c[C>>2]|0;I=m+12|0;F=e+48|0;D=m+8|0;H=e+20|0;G=m+32|0;J=K;while(1){if((J|0)==(c[I>>2]|0)){if((c[(c[E>>2]|0)+44>>2]|0)!=0&J>>>0>K>>>0){c[F>>2]=nb(c[F>>2]|0,(c[D>>2]|0)+K|0,J-K|0)|0}J=c[k>>2]|0;L=c[J+20>>2]|0;K=c[h>>2]|0;K=L>>>0>K>>>0?K:L;if((K|0)!=0?(Bb(c[j>>2]|0,c[J+16>>2]|0,K|0)|0,c[j>>2]=(c[j>>2]|0)+K,B=(c[k>>2]|0)+16|0,c[B>>2]=(c[B>>2]|0)+K,c[H>>2]=(c[H>>2]|0)+K,c[h>>2]=(c[h>>2]|0)-K,B=c[k>>2]|0,O=B+20|0,P=c[O>>2]|0,c[O>>2]=P-K,(P|0)==(K|0)):0){c[B+16>>2]=c[B+8>>2]}K=c[C>>2]|0;if((K|0)==(c[I>>2]|0)){B=1;break}else{J=K}}L=c[G>>2]|0;c[G>>2]=L+1;L=a[(c[(c[E>>2]|0)+36>>2]|0)+L>>0]|0;c[C>>2]=J+1;a[(c[D>>2]|0)+J>>0]=L;if(L<<24>>24==0){v=89;break}J=c[C>>2]|0}if((v|0)==89){B=L&255}if((c[(c[E>>2]|0)+44>>2]|0)!=0?(A=c[C>>2]|0,A>>>0>K>>>0):0){c[F>>2]=nb(c[F>>2]|0,(c[D>>2]|0)+K|0,A-K|0)|0}if((B|0)==0){c[p>>2]=103;v=99;break}else{K=c[p>>2]|0;v=97;break}}}while(0);if((v|0)==97?(K|0)==103:0){E=m+28|0;v=99}do{if((v|0)==99){if((c[(c[E>>2]|0)+44>>2]|0)==0){c[p>>2]=113;break}v=m+20|0;A=m+12|0;if((((c[v>>2]|0)+2|0)>>>0>(c[A>>2]|0)>>>0?(y=c[k>>2]|0,z=c[y+20>>2]|0,B=c[h>>2]|0,z=z>>>0>B>>>0?B:z,(z|0)!=0):0)?(Bb(c[j>>2]|0,c[y+16>>2]|0,z|0)|0,c[j>>2]=(c[j>>2]|0)+z,x=(c[k>>2]|0)+16|0,c[x>>2]=(c[x>>2]|0)+z,x=e+20|0,c[x>>2]=(c[x>>2]|0)+z,c[h>>2]=(c[h>>2]|0)-z,x=c[k>>2]|0,O=x+20|0,P=c[O>>2]|0,c[O>>2]=P-z,(P|0)==(z|0)):0){c[x+16>>2]=c[x+8>>2]}x=c[v>>2]|0;if(!((x+2|0)>>>0>(c[A>>2]|0)>>>0)){P=e+48|0;M=c[P>>2]&255;c[v>>2]=x+1;N=m+8|0;a[(c[N>>2]|0)+x>>0]=M;M=(c[P>>2]|0)>>>8&255;O=c[v>>2]|0;c[v>>2]=O+1;a[(c[N>>2]|0)+O>>0]=M;c[P>>2]=nb(0,0,0)|0;c[p>>2]=113}}}while(0);x=m+20|0;if((c[x>>2]|0)==0){if((c[e+4>>2]|0)==0?(w|0)>=(f|0)&(f|0)!=4:0){c[e+24>>2]=c[3180>>2];P=-5;i=g;return P|0}}else{v=c[k>>2]|0;y=c[v+20>>2]|0;w=c[h>>2]|0;y=y>>>0>w>>>0?w:y;if((y|0)!=0){Bb(c[j>>2]|0,c[v+16>>2]|0,y|0)|0;c[j>>2]=(c[j>>2]|0)+y;v=(c[k>>2]|0)+16|0;c[v>>2]=(c[v>>2]|0)+y;v=e+20|0;c[v>>2]=(c[v>>2]|0)+y;c[h>>2]=(c[h>>2]|0)-y;v=c[k>>2]|0;O=v+20|0;P=c[O>>2]|0;c[O>>2]=P-y;if((P|0)==(y|0)){c[v+16>>2]=c[v+8>>2]}w=c[h>>2]|0}if((w|0)==0){c[n>>2]=-1;P=0;i=g;return P|0}}w=(c[p>>2]|0)==666;v=(c[e+4>>2]|0)==0;if(w){if(v){v=121}else{c[e+24>>2]=c[3180>>2];P=-5;i=g;return P|0}}else{if(v){v=121}else{v=124}}do{if((v|0)==121){if((c[m+116>>2]|0)==0){if((f|0)!=0){if(w){break}else{v=124;break}}else{P=0;i=g;return P|0}}else{v=124}}}while(0);do{if((v|0)==124){w=c[m+136>>2]|0;b:do{if((w|0)==2){A=m+116|0;w=m+96|0;r=m+108|0;s=m+56|0;z=m+5792|0;y=m+5796|0;C=m+5784|0;B=m+5788|0;q=m+92|0;while(1){if((c[A>>2]|0)==0?(Xa(m),(c[A>>2]|0)==0):0){break}c[w>>2]=0;P=a[(c[s>>2]|0)+(c[r>>2]|0)>>0]|0;E=c[z>>2]|0;b[(c[y>>2]|0)+(E<<1)>>1]=0;c[z>>2]=E+1;a[(c[C>>2]|0)+E>>0]=P;P=m+((P&255)<<2)+148|0;b[P>>1]=(b[P>>1]|0)+1<<16>>16;P=(c[z>>2]|0)==((c[B>>2]|0)+ -1|0);c[A>>2]=(c[A>>2]|0)+ -1;E=(c[r>>2]|0)+1|0;c[r>>2]=E;if(!P){continue}D=c[q>>2]|0;if((D|0)>-1){F=(c[s>>2]|0)+D|0}else{F=0}eb(m,F,E-D|0,0);c[q>>2]=c[r>>2];E=c[m>>2]|0;D=E+28|0;F=c[D>>2]|0;I=c[F+20>>2]|0;G=E+16|0;H=c[G>>2]|0;H=I>>>0>H>>>0?H:I;if((H|0)!=0?(u=E+12|0,Bb(c[u>>2]|0,c[F+16>>2]|0,H|0)|0,c[u>>2]=(c[u>>2]|0)+H,u=(c[D>>2]|0)+16|0,c[u>>2]=(c[u>>2]|0)+H,u=E+20|0,c[u>>2]=(c[u>>2]|0)+H,c[G>>2]=(c[G>>2]|0)-H,u=c[D>>2]|0,O=u+20|0,P=c[O>>2]|0,c[O>>2]=P-H,(P|0)==(H|0)):0){c[u+16>>2]=c[u+8>>2]}if((c[(c[m>>2]|0)+16>>2]|0)==0){break b}}if((f|0)!=0){u=c[q>>2]|0;if((u|0)>-1){s=(c[s>>2]|0)+u|0}else{s=0}eb(m,s,(c[r>>2]|0)-u|0,o&1);c[q>>2]=c[r>>2];s=c[m>>2]|0;r=s+28|0;q=c[r>>2]|0;v=c[q+20>>2]|0;u=s+16|0;w=c[u>>2]|0;v=v>>>0>w>>>0?w:v;if((v|0)!=0?(t=s+12|0,Bb(c[t>>2]|0,c[q+16>>2]|0,v|0)|0,c[t>>2]=(c[t>>2]|0)+v,t=(c[r>>2]|0)+16|0,c[t>>2]=(c[t>>2]|0)+v,t=s+20|0,c[t>>2]=(c[t>>2]|0)+v,c[u>>2]=(c[u>>2]|0)-v,t=c[r>>2]|0,O=t+20|0,P=c[O>>2]|0,c[O>>2]=P-v,(P|0)==(v|0)):0){c[t+16>>2]=c[t+8>>2]}if((c[(c[m>>2]|0)+16>>2]|0)==0){q=o?2:0;v=183;break}else{q=o?3:1;v=183;break}}}else if((w|0)==3){F=m+116|0;E=(f|0)==0;A=m+96|0;t=m+108|0;y=m+5792|0;C=m+5796|0;B=m+5784|0;z=m+(d[296]<<2)+2440|0;D=m+5788|0;w=m+56|0;u=m+92|0;while(1){H=c[F>>2]|0;if(H>>>0<258){Xa(m);H=c[F>>2]|0;if(H>>>0<258&E){break b}if((H|0)==0){break}c[A>>2]=0;if(H>>>0>2){v=151}else{G=c[t>>2]|0;v=166}}else{c[A>>2]=0;v=151}if((v|0)==151){v=0;G=c[t>>2]|0;if((G|0)!=0){J=c[w>>2]|0;I=a[J+(G+ -1)>>0]|0;if((I<<24>>24==(a[J+G>>0]|0)?I<<24>>24==(a[J+(G+1)>>0]|0):0)?(s=J+(G+2)|0,I<<24>>24==(a[s>>0]|0)):0){J=J+(G+258)|0;K=s;do{L=K+1|0;if(!(I<<24>>24==(a[L>>0]|0))){K=L;break}L=K+2|0;if(!(I<<24>>24==(a[L>>0]|0))){K=L;break}L=K+3|0;if(!(I<<24>>24==(a[L>>0]|0))){K=L;break}L=K+4|0;if(!(I<<24>>24==(a[L>>0]|0))){K=L;break}L=K+5|0;if(!(I<<24>>24==(a[L>>0]|0))){K=L;break}L=K+6|0;if(!(I<<24>>24==(a[L>>0]|0))){K=L;break}L=K+7|0;if(!(I<<24>>24==(a[L>>0]|0))){K=L;break}K=K+8|0}while(I<<24>>24==(a[K>>0]|0)&K>>>0<J>>>0);I=K-J+258|0;H=I>>>0>H>>>0?H:I;c[A>>2]=H;if(H>>>0>2){H=H+253|0;G=c[y>>2]|0;b[(c[C>>2]|0)+(G<<1)>>1]=1;c[y>>2]=G+1;a[(c[B>>2]|0)+G>>0]=H;H=m+((d[808+(H&255)>>0]|256)+1<<2)+148|0;b[H>>1]=(b[H>>1]|0)+1<<16>>16;b[z>>1]=(b[z>>1]|0)+1<<16>>16;H=(c[y>>2]|0)==((c[D>>2]|0)+ -1|0)|0;G=c[A>>2]|0;c[F>>2]=(c[F>>2]|0)-G;G=(c[t>>2]|0)+G|0;c[t>>2]=G;c[A>>2]=0}else{v=166}}else{v=166}}else{G=0;v=166}}if((v|0)==166){v=0;H=a[(c[w>>2]|0)+G>>0]|0;G=c[y>>2]|0;b[(c[C>>2]|0)+(G<<1)>>1]=0;c[y>>2]=G+1;a[(c[B>>2]|0)+G>>0]=H;H=m+((H&255)<<2)+148|0;b[H>>1]=(b[H>>1]|0)+1<<16>>16;H=(c[y>>2]|0)==((c[D>>2]|0)+ -1|0)|0;c[F>>2]=(c[F>>2]|0)+ -1;G=(c[t>>2]|0)+1|0;c[t>>2]=G}if((H|0)==0){continue}H=c[u>>2]|0;if((H|0)>-1){I=(c[w>>2]|0)+H|0}else{I=0}eb(m,I,G-H|0,0);c[u>>2]=c[t>>2];I=c[m>>2]|0;G=I+28|0;H=c[G>>2]|0;L=c[H+20>>2]|0;J=I+16|0;K=c[J>>2]|0;K=L>>>0>K>>>0?K:L;if((K|0)!=0?(r=I+12|0,Bb(c[r>>2]|0,c[H+16>>2]|0,K|0)|0,c[r>>2]=(c[r>>2]|0)+K,r=(c[G>>2]|0)+16|0,c[r>>2]=(c[r>>2]|0)+K,r=I+20|0,c[r>>2]=(c[r>>2]|0)+K,c[J>>2]=(c[J>>2]|0)-K,r=c[G>>2]|0,O=r+20|0,P=c[O>>2]|0,c[O>>2]=P-K,(P|0)==(K|0)):0){c[r+16>>2]=c[r+8>>2]}if((c[(c[m>>2]|0)+16>>2]|0)==0){break b}}r=c[u>>2]|0;if((r|0)>-1){s=(c[w>>2]|0)+r|0}else{s=0}eb(m,s,(c[t>>2]|0)-r|0,o&1);c[u>>2]=c[t>>2];s=c[m>>2]|0;u=s+28|0;t=c[u>>2]|0;w=c[t+20>>2]|0;r=s+16|0;v=c[r>>2]|0;v=w>>>0>v>>>0?v:w;if((v|0)!=0?(q=s+12|0,Bb(c[q>>2]|0,c[t+16>>2]|0,v|0)|0,c[q>>2]=(c[q>>2]|0)+v,q=(c[u>>2]|0)+16|0,c[q>>2]=(c[q>>2]|0)+v,q=s+20|0,c[q>>2]=(c[q>>2]|0)+v,c[r>>2]=(c[r>>2]|0)-v,q=c[u>>2]|0,O=q+20|0,P=c[O>>2]|0,c[O>>2]=P-v,(P|0)==(v|0)):0){c[q+16>>2]=c[q+8>>2]}if((c[(c[m>>2]|0)+16>>2]|0)==0){q=o?2:0;v=183;break}else{q=o?3:1;v=183;break}}else{q=Fa[c[184+((c[m+132>>2]|0)*12|0)>>2]&3](m,f)|0;v=183}}while(0);if((v|0)==183){if((q&-2|0)==2){c[p>>2]=666}if((q&-3|0)!=0){if((q|0)!=1){break}if((f|0)==1){db(m)}else if(((f|0)!=5?(cb(m,0,0,0),(f|0)==3):0)?(P=c[m+76>>2]|0,O=c[m+68>>2]|0,b[O+(P+ -1<<1)>>1]=0,zb(O|0,0,(P<<1)+ -2|0)|0,(c[m+116>>2]|0)==0):0){c[m+108>>2]=0;c[m+92>>2]=0}p=c[k>>2]|0;q=c[p+20>>2]|0;f=c[h>>2]|0;q=q>>>0>f>>>0?f:q;if((q|0)!=0){Bb(c[j>>2]|0,c[p+16>>2]|0,q|0)|0;c[j>>2]=(c[j>>2]|0)+q;f=(c[k>>2]|0)+16|0;c[f>>2]=(c[f>>2]|0)+q;f=e+20|0;c[f>>2]=(c[f>>2]|0)+q;c[h>>2]=(c[h>>2]|0)-q;f=c[k>>2]|0;O=f+20|0;P=c[O>>2]|0;c[O>>2]=P-q;if((P|0)==(q|0)){c[f+16>>2]=c[f+8>>2]}f=c[h>>2]|0}if((f|0)!=0){break}c[n>>2]=-1;P=0;i=g;return P|0}}if((c[h>>2]|0)!=0){P=0;i=g;return P|0}c[n>>2]=-1;P=0;i=g;return P|0}}while(0);if(!o){P=0;i=g;return P|0}n=m+24|0;f=c[n>>2]|0;if((f|0)<1){P=1;i=g;return P|0}p=e+48|0;o=c[p>>2]|0;if((f|0)==2){M=c[x>>2]|0;c[x>>2]=M+1;O=m+8|0;a[(c[O>>2]|0)+M>>0]=o;M=(c[p>>2]|0)>>>8&255;N=c[x>>2]|0;c[x>>2]=N+1;a[(c[O>>2]|0)+N>>0]=M;N=(c[p>>2]|0)>>>16&255;M=c[x>>2]|0;c[x>>2]=M+1;a[(c[O>>2]|0)+M>>0]=N;M=(c[p>>2]|0)>>>24&255;N=c[x>>2]|0;c[x>>2]=N+1;a[(c[O>>2]|0)+N>>0]=M;N=e+8|0;M=c[N>>2]&255;P=c[x>>2]|0;c[x>>2]=P+1;a[(c[O>>2]|0)+P>>0]=M;P=(c[N>>2]|0)>>>8&255;M=c[x>>2]|0;c[x>>2]=M+1;a[(c[O>>2]|0)+M>>0]=P;M=(c[N>>2]|0)>>>16&255;P=c[x>>2]|0;c[x>>2]=P+1;a[(c[O>>2]|0)+P>>0]=M;N=(c[N>>2]|0)>>>24&255;P=c[x>>2]|0;c[x>>2]=P+1;a[(c[O>>2]|0)+P>>0]=N}else{N=c[x>>2]|0;c[x>>2]=N+1;O=m+8|0;a[(c[O>>2]|0)+N>>0]=o>>>24;N=c[x>>2]|0;c[x>>2]=N+1;a[(c[O>>2]|0)+N>>0]=o>>>16;N=c[p>>2]|0;P=c[x>>2]|0;c[x>>2]=P+1;a[(c[O>>2]|0)+P>>0]=N>>>8;P=c[x>>2]|0;c[x>>2]=P+1;a[(c[O>>2]|0)+P>>0]=N}m=c[k>>2]|0;f=c[m+20>>2]|0;o=c[h>>2]|0;o=f>>>0>o>>>0?o:f;if((o|0)!=0?(Bb(c[j>>2]|0,c[m+16>>2]|0,o|0)|0,c[j>>2]=(c[j>>2]|0)+o,l=(c[k>>2]|0)+16|0,c[l>>2]=(c[l>>2]|0)+o,l=e+20|0,c[l>>2]=(c[l>>2]|0)+o,c[h>>2]=(c[h>>2]|0)-o,l=c[k>>2]|0,O=l+20|0,P=c[O>>2]|0,c[O>>2]=P-o,(P|0)==(o|0)):0){c[l+16>>2]=c[l+8>>2]}e=c[n>>2]|0;if((e|0)>0){c[n>>2]=0-e}P=(c[x>>2]|0)==0|0;i=g;return P|0}}}while(0);c[e+24>>2]=c[3168>>2];P=-2;i=g;return P|0}function Xa(a){a=a|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;g=i;u=a+44|0;o=c[u>>2]|0;j=a+60|0;n=a+116|0;h=a+108|0;k=o+ -262|0;f=a+56|0;v=a+72|0;l=a+88|0;m=a+84|0;q=a+112|0;r=a+92|0;s=a+76|0;t=a+68|0;p=a+64|0;x=c[n>>2]|0;z=o;while(1){y=c[h>>2]|0;x=(c[j>>2]|0)-x-y|0;if(!(y>>>0<(k+z|0)>>>0)){y=c[f>>2]|0;Bb(y|0,y+o|0,o|0)|0;c[q>>2]=(c[q>>2]|0)-o;y=(c[h>>2]|0)-o|0;c[h>>2]=y;c[r>>2]=(c[r>>2]|0)-o;A=c[s>>2]|0;z=A;A=(c[t>>2]|0)+(A<<1)|0;do{A=A+ -2|0;B=e[A>>1]|0;if(B>>>0<o>>>0){B=0}else{B=B-o&65535}b[A>>1]=B;z=z+ -1|0}while((z|0)!=0);A=o;z=(c[p>>2]|0)+(o<<1)|0;do{z=z+ -2|0;B=e[z>>1]|0;if(B>>>0<o>>>0){B=0}else{B=B-o&65535}b[z>>1]=B;A=A+ -1|0}while((A|0)!=0);x=x+o|0}z=c[a>>2]|0;C=z+4|0;B=c[C>>2]|0;if((B|0)==0){w=28;break}A=c[n>>2]|0;y=(c[f>>2]|0)+(A+y)|0;x=B>>>0>x>>>0?x:B;if((x|0)==0){x=0}else{c[C>>2]=B-x;A=c[(c[z+28>>2]|0)+24>>2]|0;if((A|0)==2){A=z+48|0;c[A>>2]=nb(c[A>>2]|0,c[z>>2]|0,x)|0;A=z}else if((A|0)==1){A=z+48|0;c[A>>2]=mb(c[A>>2]|0,c[z>>2]|0,x)|0;A=z}else{A=z}Bb(y|0,c[A>>2]|0,x|0)|0;c[A>>2]=(c[A>>2]|0)+x;A=z+8|0;c[A>>2]=(c[A>>2]|0)+x;A=c[n>>2]|0}x=A+x|0;c[n>>2]=x;if(x>>>0>2?(B=c[h>>2]|0,A=c[f>>2]|0,C=d[A+B>>0]|0,c[v>>2]=C,c[v>>2]=((d[A+(B+1)>>0]|0)^C<<c[l>>2])&c[m>>2],!(x>>>0<262)):0){break}if((c[(c[a>>2]|0)+4>>2]|0)==0){break}z=c[u>>2]|0}if((w|0)==28){i=g;return}k=a+5824|0;l=c[k>>2]|0;j=c[j>>2]|0;if(!(l>>>0<j>>>0)){i=g;return}h=x+(c[h>>2]|0)|0;if(l>>>0<h>>>0){j=j-h|0;C=j>>>0>258?258:j;zb((c[f>>2]|0)+h|0,0,C|0)|0;c[k>>2]=C+h;i=g;return}h=h+258|0;if(!(l>>>0<h>>>0)){i=g;return}h=h-l|0;j=j-l|0;C=h>>>0>j>>>0?j:h;zb((c[f>>2]|0)+l|0,0,C|0)|0;c[k>>2]=(c[k>>2]|0)+C;i=g;return}function Ya(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=i;f=(c[a+12>>2]|0)+ -5|0;m=f>>>0<65535?f:65535;n=a+116|0;f=a+108|0;g=a+92|0;l=a+44|0;h=a+56|0;while(1){o=c[n>>2]|0;if(o>>>0<2){Xa(a);o=c[n>>2]|0;if((o|b|0)==0){a=0;j=28;break}if((o|0)==0){j=20;break}}o=(c[f>>2]|0)+o|0;c[f>>2]=o;c[n>>2]=0;p=c[g>>2]|0;q=p+m|0;if(!((o|0)!=0&o>>>0<q>>>0)){c[n>>2]=o-q;c[f>>2]=q;if((p|0)>-1){o=(c[h>>2]|0)+p|0}else{o=0}eb(a,o,m,0);c[g>>2]=c[f>>2];r=c[a>>2]|0;p=r+28|0;q=c[p>>2]|0;s=c[q+20>>2]|0;o=r+16|0;t=c[o>>2]|0;s=s>>>0>t>>>0?t:s;if((s|0)!=0?(j=r+12|0,Bb(c[j>>2]|0,c[q+16>>2]|0,s|0)|0,c[j>>2]=(c[j>>2]|0)+s,j=(c[p>>2]|0)+16|0,c[j>>2]=(c[j>>2]|0)+s,j=r+20|0,c[j>>2]=(c[j>>2]|0)+s,c[o>>2]=(c[o>>2]|0)-s,j=c[p>>2]|0,r=j+20|0,t=c[r>>2]|0,c[r>>2]=t-s,(t|0)==(s|0)):0){c[j+16>>2]=c[j+8>>2]}if((c[(c[a>>2]|0)+16>>2]|0)==0){a=0;j=28;break}p=c[g>>2]|0;o=c[f>>2]|0}o=o-p|0;if(o>>>0<((c[l>>2]|0)+ -262|0)>>>0){continue}if((p|0)>-1){p=(c[h>>2]|0)+p|0}else{p=0}eb(a,p,o,0);c[g>>2]=c[f>>2];r=c[a>>2]|0;p=r+28|0;q=c[p>>2]|0;s=c[q+20>>2]|0;o=r+16|0;t=c[o>>2]|0;s=s>>>0>t>>>0?t:s;if((s|0)!=0?(k=r+12|0,Bb(c[k>>2]|0,c[q+16>>2]|0,s|0)|0,c[k>>2]=(c[k>>2]|0)+s,k=(c[p>>2]|0)+16|0,c[k>>2]=(c[k>>2]|0)+s,k=r+20|0,c[k>>2]=(c[k>>2]|0)+s,c[o>>2]=(c[o>>2]|0)-s,k=c[p>>2]|0,r=k+20|0,t=c[r>>2]|0,c[r>>2]=t-s,(t|0)==(s|0)):0){c[k+16>>2]=c[k+8>>2]}if((c[(c[a>>2]|0)+16>>2]|0)==0){a=0;j=28;break}}if((j|0)==20){j=c[g>>2]|0;if((j|0)>-1){h=(c[h>>2]|0)+j|0}else{h=0}b=(b|0)==4;eb(a,h,(c[f>>2]|0)-j|0,b&1);c[g>>2]=c[f>>2];f=c[a>>2]|0;h=f+28|0;g=c[h>>2]|0;k=c[g+20>>2]|0;j=f+16|0;l=c[j>>2]|0;k=k>>>0>l>>>0?l:k;if((k|0)!=0?(e=f+12|0,Bb(c[e>>2]|0,c[g+16>>2]|0,k|0)|0,c[e>>2]=(c[e>>2]|0)+k,e=(c[h>>2]|0)+16|0,c[e>>2]=(c[e>>2]|0)+k,e=f+20|0,c[e>>2]=(c[e>>2]|0)+k,c[j>>2]=(c[j>>2]|0)-k,e=c[h>>2]|0,s=e+20|0,t=c[s>>2]|0,c[s>>2]=t-k,(t|0)==(k|0)):0){c[e+16>>2]=c[e+8>>2]}if((c[(c[a>>2]|0)+16>>2]|0)==0){t=b?2:0;i=d;return t|0}else{t=b?3:1;i=d;return t|0}}else if((j|0)==28){i=d;return a|0}return 0}function Za(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;g=i;y=e+116|0;A=(f|0)==0;B=e+72|0;C=e+88|0;k=e+108|0;l=e+56|0;n=e+84|0;o=e+68|0;p=e+52|0;q=e+64|0;x=e+44|0;z=e+96|0;u=e+112|0;r=e+5792|0;v=e+5796|0;w=e+5784|0;s=e+5788|0;t=e+128|0;j=e+92|0;while(1){if((c[y>>2]|0)>>>0<262){Xa(e);D=c[y>>2]|0;if(D>>>0<262&A){h=0;D=34;break}if((D|0)==0){D=26;break}if(!(D>>>0>2)){D=9}else{D=6}}else{D=6}if((D|0)==6){D=0;E=c[k>>2]|0;M=((d[(c[l>>2]|0)+(E+2)>>0]|0)^c[B>>2]<<c[C>>2])&c[n>>2];c[B>>2]=M;M=(c[o>>2]|0)+(M<<1)|0;N=b[M>>1]|0;b[(c[q>>2]|0)+((c[p>>2]&E)<<1)>>1]=N;F=N&65535;b[M>>1]=E;if(!(N<<16>>16==0)?!((E-F|0)>>>0>((c[x>>2]|0)+ -262|0)>>>0):0){E=$a(e,F)|0;c[z>>2]=E}else{D=9}}if((D|0)==9){E=c[z>>2]|0}do{if(E>>>0>2){N=E+253|0;D=(c[k>>2]|0)-(c[u>>2]|0)|0;M=c[r>>2]|0;b[(c[v>>2]|0)+(M<<1)>>1]=D;c[r>>2]=M+1;a[(c[w>>2]|0)+M>>0]=N;N=e+((d[808+(N&255)>>0]|0|256)+1<<2)+148|0;b[N>>1]=(b[N>>1]|0)+1<<16>>16;D=D+65535&65535;if(!(D>>>0<256)){D=(D>>>7)+256|0}D=e+((d[296+D>>0]|0)<<2)+2440|0;b[D>>1]=(b[D>>1]|0)+1<<16>>16;D=(c[r>>2]|0)==((c[s>>2]|0)+ -1|0)|0;E=c[z>>2]|0;N=(c[y>>2]|0)-E|0;c[y>>2]=N;if(!(E>>>0<=(c[t>>2]|0)>>>0&N>>>0>2)){E=(c[k>>2]|0)+E|0;c[k>>2]=E;c[z>>2]=0;M=c[l>>2]|0;N=d[M+E>>0]|0;c[B>>2]=N;c[B>>2]=((d[M+(E+1)>>0]|0)^N<<c[C>>2])&c[n>>2];break}I=E+ -1|0;c[z>>2]=I;M=c[C>>2]|0;L=c[l>>2]|0;N=c[n>>2]|0;K=c[o>>2]|0;F=c[p>>2]|0;H=c[q>>2]|0;E=c[k>>2]|0;J=c[B>>2]|0;while(1){G=E+1|0;c[k>>2]=G;J=((d[L+(E+3)>>0]|0)^J<<M)&N;c[B>>2]=J;O=K+(J<<1)|0;b[H+((F&G)<<1)>>1]=b[O>>1]|0;b[O>>1]=G;I=I+ -1|0;c[z>>2]=I;if((I|0)==0){break}else{E=G}}E=E+2|0;c[k>>2]=E}else{D=a[(c[l>>2]|0)+(c[k>>2]|0)>>0]|0;E=c[r>>2]|0;b[(c[v>>2]|0)+(E<<1)>>1]=0;c[r>>2]=E+1;a[(c[w>>2]|0)+E>>0]=D;D=e+((D&255)<<2)+148|0;b[D>>1]=(b[D>>1]|0)+1<<16>>16;D=(c[r>>2]|0)==((c[s>>2]|0)+ -1|0)|0;c[y>>2]=(c[y>>2]|0)+ -1;E=(c[k>>2]|0)+1|0;c[k>>2]=E}}while(0);if((D|0)==0){continue}D=c[j>>2]|0;if((D|0)>-1){F=(c[l>>2]|0)+D|0}else{F=0}eb(e,F,E-D|0,0);c[j>>2]=c[k>>2];F=c[e>>2]|0;G=F+28|0;D=c[G>>2]|0;I=c[D+20>>2]|0;E=F+16|0;H=c[E>>2]|0;H=I>>>0>H>>>0?H:I;if((H|0)!=0?(m=F+12|0,Bb(c[m>>2]|0,c[D+16>>2]|0,H|0)|0,c[m>>2]=(c[m>>2]|0)+H,m=(c[G>>2]|0)+16|0,c[m>>2]=(c[m>>2]|0)+H,m=F+20|0,c[m>>2]=(c[m>>2]|0)+H,c[E>>2]=(c[E>>2]|0)-H,m=c[G>>2]|0,N=m+20|0,O=c[N>>2]|0,c[N>>2]=O-H,(O|0)==(H|0)):0){c[m+16>>2]=c[m+8>>2]}if((c[(c[e>>2]|0)+16>>2]|0)==0){h=0;D=34;break}}if((D|0)==26){m=c[j>>2]|0;if((m|0)>-1){l=(c[l>>2]|0)+m|0}else{l=0}f=(f|0)==4;eb(e,l,(c[k>>2]|0)-m|0,f&1);c[j>>2]=c[k>>2];k=c[e>>2]|0;l=k+28|0;j=c[l>>2]|0;o=c[j+20>>2]|0;m=k+16|0;n=c[m>>2]|0;n=o>>>0>n>>>0?n:o;if((n|0)!=0?(h=k+12|0,Bb(c[h>>2]|0,c[j+16>>2]|0,n|0)|0,c[h>>2]=(c[h>>2]|0)+n,h=(c[l>>2]|0)+16|0,c[h>>2]=(c[h>>2]|0)+n,h=k+20|0,c[h>>2]=(c[h>>2]|0)+n,c[m>>2]=(c[m>>2]|0)-n,h=c[l>>2]|0,N=h+20|0,O=c[N>>2]|0,c[N>>2]=O-n,(O|0)==(n|0)):0){c[h+16>>2]=c[h+8>>2]}if((c[(c[e>>2]|0)+16>>2]|0)==0){O=f?2:0;i=g;return O|0}else{O=f?3:1;i=g;return O|0}}else if((D|0)==34){i=g;return h|0}return 0}function _a(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;g=i;t=e+116|0;u=(f|0)==0;v=e+72|0;w=e+88|0;k=e+108|0;l=e+56|0;x=e+84|0;y=e+68|0;A=e+52|0;z=e+64|0;n=e+96|0;o=e+120|0;p=e+112|0;q=e+100|0;E=e+5792|0;F=e+5796|0;H=e+5784|0;B=e+5788|0;m=e+104|0;j=e+92|0;C=e+128|0;s=e+44|0;r=e+136|0;a:while(1){I=c[t>>2]|0;while(1){if(I>>>0<262){Xa(e);I=c[t>>2]|0;if(I>>>0<262&u){e=0;I=50;break a}if((I|0)==0){I=40;break a}if(!(I>>>0>2)){c[o>>2]=c[n>>2];c[q>>2]=c[p>>2];c[n>>2]=2;K=2;I=16}else{I=8}}else{I=8}do{if((I|0)==8){I=0;M=c[k>>2]|0;J=((d[(c[l>>2]|0)+(M+2)>>0]|0)^c[v>>2]<<c[w>>2])&c[x>>2];c[v>>2]=J;J=(c[y>>2]|0)+(J<<1)|0;N=b[J>>1]|0;b[(c[z>>2]|0)+((c[A>>2]&M)<<1)>>1]=N;K=N&65535;b[J>>1]=M;J=c[n>>2]|0;c[o>>2]=J;c[q>>2]=c[p>>2];c[n>>2]=2;if(!(N<<16>>16==0)){if(J>>>0<(c[C>>2]|0)>>>0){if(!(((c[k>>2]|0)-K|0)>>>0>((c[s>>2]|0)+ -262|0)>>>0)){K=$a(e,K)|0;c[n>>2]=K;if(K>>>0<6){if((c[r>>2]|0)!=1){if((K|0)!=3){I=16;break}if(!(((c[k>>2]|0)-(c[p>>2]|0)|0)>>>0>4096)){K=3;I=16;break}}c[n>>2]=2;K=2;I=16}else{I=16}}else{K=2;I=16}}else{K=2}}else{K=2;I=16}}}while(0);if((I|0)==16){J=c[o>>2]|0}if(!(J>>>0<3|K>>>0>J>>>0)){break}if((c[m>>2]|0)==0){c[m>>2]=1;c[k>>2]=(c[k>>2]|0)+1;I=(c[t>>2]|0)+ -1|0;c[t>>2]=I;continue}N=a[(c[l>>2]|0)+((c[k>>2]|0)+ -1)>>0]|0;M=c[E>>2]|0;b[(c[F>>2]|0)+(M<<1)>>1]=0;c[E>>2]=M+1;a[(c[H>>2]|0)+M>>0]=N;N=e+((N&255)<<2)+148|0;b[N>>1]=(b[N>>1]|0)+1<<16>>16;if((c[E>>2]|0)==((c[B>>2]|0)+ -1|0)){I=c[j>>2]|0;if((I|0)>-1){J=(c[l>>2]|0)+I|0}else{J=0}eb(e,J,(c[k>>2]|0)-I|0,0);c[j>>2]=c[k>>2];L=c[e>>2]|0;K=L+28|0;I=c[K>>2]|0;N=c[I+20>>2]|0;J=L+16|0;M=c[J>>2]|0;M=N>>>0>M>>>0?M:N;if((M|0)!=0?(G=L+12|0,Bb(c[G>>2]|0,c[I+16>>2]|0,M|0)|0,c[G>>2]=(c[G>>2]|0)+M,G=(c[K>>2]|0)+16|0,c[G>>2]=(c[G>>2]|0)+M,G=L+20|0,c[G>>2]=(c[G>>2]|0)+M,c[J>>2]=(c[J>>2]|0)-M,G=c[K>>2]|0,L=G+20|0,N=c[L>>2]|0,c[L>>2]=N-M,(N|0)==(M|0)):0){c[G+16>>2]=c[G+8>>2]}}c[k>>2]=(c[k>>2]|0)+1;I=(c[t>>2]|0)+ -1|0;c[t>>2]=I;if((c[(c[e>>2]|0)+16>>2]|0)==0){e=0;I=50;break a}}M=c[k>>2]|0;I=M+ -3+(c[t>>2]|0)|0;N=J+253|0;J=M+65535-(c[q>>2]|0)|0;M=c[E>>2]|0;b[(c[F>>2]|0)+(M<<1)>>1]=J;c[E>>2]=M+1;a[(c[H>>2]|0)+M>>0]=N;N=e+((d[808+(N&255)>>0]|0|256)+1<<2)+148|0;b[N>>1]=(b[N>>1]|0)+1<<16>>16;J=J+65535&65535;if(!(J>>>0<256)){J=(J>>>7)+256|0}K=e+((d[296+J>>0]|0)<<2)+2440|0;b[K>>1]=(b[K>>1]|0)+1<<16>>16;K=c[E>>2]|0;J=(c[B>>2]|0)+ -1|0;M=c[o>>2]|0;c[t>>2]=1-M+(c[t>>2]|0);M=M+ -2|0;c[o>>2]=M;L=c[k>>2]|0;while(1){N=L+1|0;c[k>>2]=N;if(!(N>>>0>I>>>0)){O=((d[(c[l>>2]|0)+(L+3)>>0]|0)^c[v>>2]<<c[w>>2])&c[x>>2];c[v>>2]=O;O=(c[y>>2]|0)+(O<<1)|0;b[(c[z>>2]|0)+((c[A>>2]&N)<<1)>>1]=b[O>>1]|0;b[O>>1]=N}M=M+ -1|0;c[o>>2]=M;if((M|0)==0){break}else{L=N}}c[m>>2]=0;c[n>>2]=2;I=L+2|0;c[k>>2]=I;if((K|0)!=(J|0)){continue}K=c[j>>2]|0;if((K|0)>-1){J=(c[l>>2]|0)+K|0}else{J=0}eb(e,J,I-K|0,0);c[j>>2]=c[k>>2];L=c[e>>2]|0;J=L+28|0;K=c[J>>2]|0;N=c[K+20>>2]|0;I=L+16|0;M=c[I>>2]|0;M=N>>>0>M>>>0?M:N;if((M|0)!=0?(D=L+12|0,Bb(c[D>>2]|0,c[K+16>>2]|0,M|0)|0,c[D>>2]=(c[D>>2]|0)+M,D=(c[J>>2]|0)+16|0,c[D>>2]=(c[D>>2]|0)+M,D=L+20|0,c[D>>2]=(c[D>>2]|0)+M,c[I>>2]=(c[I>>2]|0)-M,D=c[J>>2]|0,N=D+20|0,O=c[N>>2]|0,c[N>>2]=O-M,(O|0)==(M|0)):0){c[D+16>>2]=c[D+8>>2]}if((c[(c[e>>2]|0)+16>>2]|0)==0){e=0;I=50;break}}if((I|0)==40){if((c[m>>2]|0)!=0){O=a[(c[l>>2]|0)+((c[k>>2]|0)+ -1)>>0]|0;N=c[E>>2]|0;b[(c[F>>2]|0)+(N<<1)>>1]=0;c[E>>2]=N+1;a[(c[H>>2]|0)+N>>0]=O;O=e+((O&255)<<2)+148|0;b[O>>1]=(b[O>>1]|0)+1<<16>>16;c[m>>2]=0}m=c[j>>2]|0;if((m|0)>-1){l=(c[l>>2]|0)+m|0}else{l=0}f=(f|0)==4;eb(e,l,(c[k>>2]|0)-m|0,f&1);c[j>>2]=c[k>>2];j=c[e>>2]|0;l=j+28|0;k=c[l>>2]|0;o=c[k+20>>2]|0;m=j+16|0;n=c[m>>2]|0;n=o>>>0>n>>>0?n:o;if((n|0)!=0?(h=j+12|0,Bb(c[h>>2]|0,c[k+16>>2]|0,n|0)|0,c[h>>2]=(c[h>>2]|0)+n,h=(c[l>>2]|0)+16|0,c[h>>2]=(c[h>>2]|0)+n,h=j+20|0,c[h>>2]=(c[h>>2]|0)+n,c[m>>2]=(c[m>>2]|0)-n,h=c[l>>2]|0,N=h+20|0,O=c[N>>2]|0,c[N>>2]=O-n,(O|0)==(n|0)):0){c[h+16>>2]=c[h+8>>2]}if((c[(c[e>>2]|0)+16>>2]|0)==0){O=f?2:0;i=g;return O|0}else{O=f?3:1;i=g;return O|0}}else if((I|0)==50){i=g;return e|0}return 0}function $a(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;f=i;w=c[b+124>>2]|0;h=c[b+56>>2]|0;k=c[b+108>>2]|0;j=h+k|0;x=c[b+120>>2]|0;p=c[b+144>>2]|0;g=(c[b+44>>2]|0)+ -262|0;n=k>>>0>g>>>0?k-g|0:0;l=c[b+64>>2]|0;m=c[b+52>>2]|0;o=h+(k+258)|0;g=c[b+116>>2]|0;r=p>>>0>g>>>0?g:p;q=b+112|0;u=h+(k+1)|0;t=h+(k+2)|0;s=o;p=k+257|0;v=x;b=x>>>0<(c[b+140>>2]|0)>>>0?w:w>>>2;w=a[h+(x+k)>>0]|0;x=a[h+(k+ -1+x)>>0]|0;while(1){y=h+d|0;if((((a[h+(d+v)>>0]|0)==w<<24>>24?(a[h+(v+ -1+d)>>0]|0)==x<<24>>24:0)?(a[y>>0]|0)==(a[j>>0]|0):0)?(a[h+(d+1)>>0]|0)==(a[u>>0]|0):0){y=h+(d+2)|0;z=t;do{A=z+1|0;if((a[A>>0]|0)!=(a[y+1>>0]|0)){z=A;break}A=z+2|0;if((a[A>>0]|0)!=(a[y+2>>0]|0)){z=A;break}A=z+3|0;if((a[A>>0]|0)!=(a[y+3>>0]|0)){z=A;break}A=z+4|0;if((a[A>>0]|0)!=(a[y+4>>0]|0)){z=A;break}A=z+5|0;if((a[A>>0]|0)!=(a[y+5>>0]|0)){z=A;break}A=z+6|0;if((a[A>>0]|0)!=(a[y+6>>0]|0)){z=A;break}A=z+7|0;if((a[A>>0]|0)!=(a[y+7>>0]|0)){z=A;break}z=z+8|0;y=y+8|0}while((a[z>>0]|0)==(a[y>>0]|0)&z>>>0<o>>>0);y=z-s|0;z=y+258|0;if((z|0)>(v|0)){c[q>>2]=d;if((z|0)>=(r|0)){v=z;h=20;break}v=z;w=a[h+(z+k)>>0]|0;x=a[h+(p+y)>>0]|0}}d=e[l+((d&m)<<1)>>1]|0;if(!(d>>>0>n>>>0)){h=20;break}b=b+ -1|0;if((b|0)==0){h=20;break}}if((h|0)==20){i=f;return(v>>>0>g>>>0?g:v)|0}return 0}function ab(a){a=a|0;var d=0;d=i;c[a+2840>>2]=a+148;c[a+2848>>2]=1064;c[a+2852>>2]=a+2440;c[a+2860>>2]=1088;c[a+2864>>2]=a+2684;c[a+2872>>2]=1112;b[a+5816>>1]=0;c[a+5820>>2]=0;c[a+5812>>2]=8;bb(a);i=d;return}function bb(a){a=a|0;var d=0,e=0;d=i;e=0;do{b[a+(e<<2)+148>>1]=0;e=e+1|0}while((e|0)!=286);b[a+2440>>1]=0;b[a+2444>>1]=0;b[a+2448>>1]=0;b[a+2452>>1]=0;b[a+2456>>1]=0;b[a+2460>>1]=0;b[a+2464>>1]=0;b[a+2468>>1]=0;b[a+2472>>1]=0;b[a+2476>>1]=0;b[a+2480>>1]=0;b[a+2484>>1]=0;b[a+2488>>1]=0;b[a+2492>>1]=0;b[a+2496>>1]=0;b[a+2500>>1]=0;b[a+2504>>1]=0;b[a+2508>>1]=0;b[a+2512>>1]=0;b[a+2516>>1]=0;b[a+2520>>1]=0;b[a+2524>>1]=0;b[a+2528>>1]=0;b[a+2532>>1]=0;b[a+2536>>1]=0;b[a+2540>>1]=0;b[a+2544>>1]=0;b[a+2548>>1]=0;b[a+2552>>1]=0;b[a+2556>>1]=0;b[a+2684>>1]=0;b[a+2688>>1]=0;b[a+2692>>1]=0;b[a+2696>>1]=0;b[a+2700>>1]=0;b[a+2704>>1]=0;b[a+2708>>1]=0;b[a+2712>>1]=0;b[a+2716>>1]=0;b[a+2720>>1]=0;b[a+2724>>1]=0;b[a+2728>>1]=0;b[a+2732>>1]=0;b[a+2736>>1]=0;b[a+2740>>1]=0;b[a+2744>>1]=0;b[a+2748>>1]=0;b[a+2752>>1]=0;b[a+2756>>1]=0;b[a+1172>>1]=1;c[a+5804>>2]=0;c[a+5800>>2]=0;c[a+5808>>2]=0;c[a+5792>>2]=0;i=d;return}function cb(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;k=d+5820|0;l=c[k>>2]|0;n=h&65535;h=d+5816|0;m=e[h>>1]|0|n<<l;b[h>>1]=m;if((l|0)>13){p=d+20|0;l=c[p>>2]|0;c[p>>2]=l+1;o=d+8|0;a[(c[o>>2]|0)+l>>0]=m;m=(e[h>>1]|0)>>>8&255;l=c[p>>2]|0;c[p>>2]=l+1;a[(c[o>>2]|0)+l>>0]=m;l=c[k>>2]|0;m=n>>>(16-l|0);b[h>>1]=m;l=l+ -13|0}else{l=l+3|0}m=m&255;c[k>>2]=l;do{if((l|0)<=8){n=d+20|0;if((l|0)>0){l=c[n>>2]|0;c[n>>2]=l+1;p=d+8|0;a[(c[p>>2]|0)+l>>0]=m;l=n;m=p;break}else{l=n;m=d+8|0;break}}else{l=d+20|0;o=c[l>>2]|0;c[l>>2]=o+1;p=d+8|0;a[(c[p>>2]|0)+o>>0]=m;o=(e[h>>1]|0)>>>8&255;m=c[l>>2]|0;c[l>>2]=m+1;a[(c[p>>2]|0)+m>>0]=o;m=p}}while(0);b[h>>1]=0;c[k>>2]=0;c[d+5812>>2]=8;o=c[l>>2]|0;c[l>>2]=o+1;a[(c[m>>2]|0)+o>>0]=g;o=c[l>>2]|0;c[l>>2]=o+1;a[(c[m>>2]|0)+o>>0]=g>>>8;o=g&65535^65535;p=c[l>>2]|0;c[l>>2]=p+1;a[(c[m>>2]|0)+p>>0]=o;p=c[l>>2]|0;c[l>>2]=p+1;a[(c[m>>2]|0)+p>>0]=o>>>8;if((g|0)==0){i=j;return}while(1){g=g+ -1|0;o=a[f>>0]|0;p=c[l>>2]|0;c[l>>2]=p+1;a[(c[m>>2]|0)+p>>0]=o;if((g|0)==0){break}else{f=f+1|0}}i=j;return}function db(d){d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;g=d+5820|0;k=c[g>>2]|0;h=d+5816|0;l=e[h>>1]|0|2<<k;j=l&65535;b[h>>1]=j;if((k|0)>13){m=d+20|0;k=c[m>>2]|0;c[m>>2]=k+1;j=d+8|0;a[(c[j>>2]|0)+k>>0]=l;l=(e[h>>1]|0)>>>8&255;k=c[m>>2]|0;c[m>>2]=k+1;a[(c[j>>2]|0)+k>>0]=l;k=c[g>>2]|0;j=2>>>(16-k|0)&65535;b[h>>1]=j;k=k+ -13|0}else{k=k+3|0}c[g>>2]=k;if((k|0)>9){l=d+20|0;k=c[l>>2]|0;c[l>>2]=k+1;m=d+8|0;a[(c[m>>2]|0)+k>>0]=j;j=(e[h>>1]|0)>>>8&255;k=c[l>>2]|0;c[l>>2]=k+1;a[(c[m>>2]|0)+k>>0]=j;b[h>>1]=0;k=(c[g>>2]|0)+ -9|0;j=0}else{k=k+7|0}c[g>>2]=k;if((k|0)!=16){if((k|0)>7){k=d+20|0;l=c[k>>2]|0;c[k>>2]=l+1;a[(c[d+8>>2]|0)+l>>0]=j;l=(e[h>>1]|0)>>>8;b[h>>1]=l;k=(c[g>>2]|0)+ -8|0;c[g>>2]=k}else{l=j}}else{n=d+20|0;m=c[n>>2]|0;c[n>>2]=m+1;l=d+8|0;a[(c[l>>2]|0)+m>>0]=j;m=(e[h>>1]|0)>>>8&255;k=c[n>>2]|0;c[n>>2]=k+1;a[(c[l>>2]|0)+k>>0]=m;b[h>>1]=0;c[g>>2]=0;k=0;l=0}j=d+5812|0;if((11-k+(c[j>>2]|0)|0)>=9){c[j>>2]=7;i=f;return}l=l&65535|2<<k;b[h>>1]=l;if((k|0)>13){m=d+20|0;k=c[m>>2]|0;c[m>>2]=k+1;n=d+8|0;a[(c[n>>2]|0)+k>>0]=l;l=(e[h>>1]|0)>>>8&255;k=c[m>>2]|0;c[m>>2]=k+1;a[(c[n>>2]|0)+k>>0]=l;k=c[g>>2]|0;l=2>>>(16-k|0);b[h>>1]=l;k=k+ -13|0}else{k=k+3|0}l=l&255;c[g>>2]=k;if((k|0)>9){m=d+20|0;n=c[m>>2]|0;c[m>>2]=n+1;k=d+8|0;a[(c[k>>2]|0)+n>>0]=l;n=(e[h>>1]|0)>>>8&255;l=c[m>>2]|0;c[m>>2]=l+1;a[(c[k>>2]|0)+l>>0]=n;b[h>>1]=0;l=0;k=(c[g>>2]|0)+ -9|0}else{k=k+7|0}c[g>>2]=k;if((k|0)==16){k=d+20|0;n=c[k>>2]|0;c[k>>2]=n+1;m=d+8|0;a[(c[m>>2]|0)+n>>0]=l;l=(e[h>>1]|0)>>>8&255;n=c[k>>2]|0;c[k>>2]=n+1;a[(c[m>>2]|0)+n>>0]=l;b[h>>1]=0;c[g>>2]=0;c[j>>2]=7;i=f;return}if((k|0)<=7){c[j>>2]=7;i=f;return}m=d+20|0;n=c[m>>2]|0;c[m>>2]=n+1;a[(c[d+8>>2]|0)+n>>0]=l;b[h>>1]=(e[h>>1]|0)>>>8;c[g>>2]=(c[g>>2]|0)+ -8;c[j>>2]=7;i=f;return}function eb(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;k=i;if((c[f+132>>2]|0)>0){l=(c[f>>2]|0)+44|0;if((c[l>>2]|0)==2){n=-201342849;o=0;while(1){if((n&1|0)!=0?(b[f+(o<<2)+148>>1]|0)!=0:0){n=0;break}o=o+1|0;if((o|0)<32){n=n>>>1}else{m=6;break}}a:do{if((m|0)==6){if(((b[f+184>>1]|0)==0?(b[f+188>>1]|0)==0:0)?(b[f+200>>1]|0)==0:0){n=32;while(1){m=n+1|0;if((b[f+(n<<2)+148>>1]|0)!=0){n=1;break a}if((m|0)<256){n=m}else{n=0;break}}}else{n=1}}}while(0);c[l>>2]=n}fb(f,f+2840|0);fb(f,f+2852|0);ib(f,f+148|0,c[f+2844>>2]|0);ib(f,f+2440|0,c[f+2856>>2]|0);fb(f,f+2864|0);l=18;while(1){m=l+ -1|0;if((b[f+(d[2888+l>>0]<<2)+2686>>1]|0)!=0){break}if((m|0)>2){l=m}else{l=m;break}}p=f+5800|0;m=(l*3|0)+17+(c[p>>2]|0)|0;c[p>>2]=m;m=(m+10|0)>>>3;p=((c[f+5804>>2]|0)+10|0)>>>3;o=p>>>0>m>>>0?m:p}else{p=h+5|0;l=0;o=p}do{if((h+4|0)>>>0>o>>>0|(g|0)==0){g=f+5820|0;m=c[g>>2]|0;n=(m|0)>13;if((c[f+136>>2]|0)==4|(p|0)==(o|0)){o=j+2&65535;h=f+5816|0;l=e[h>>1]|o<<m;b[h>>1]=l;if(n){r=f+20|0;s=c[r>>2]|0;c[r>>2]=s+1;t=f+8|0;a[(c[t>>2]|0)+s>>0]=l;s=(e[h>>1]|0)>>>8&255;l=c[r>>2]|0;c[r>>2]=l+1;a[(c[t>>2]|0)+l>>0]=s;l=c[g>>2]|0;b[h>>1]=o>>>(16-l|0);l=l+ -13|0}else{l=m+3|0}c[g>>2]=l;gb(f,1136,2288);break}p=j+4&65535;h=f+5816|0;o=e[h>>1]|p<<m;b[h>>1]=o;if(n){s=f+20|0;r=c[s>>2]|0;c[s>>2]=r+1;t=f+8|0;a[(c[t>>2]|0)+r>>0]=o;o=(e[h>>1]|0)>>>8&255;r=c[s>>2]|0;c[s>>2]=r+1;a[(c[t>>2]|0)+r>>0]=o;r=c[g>>2]|0;o=p>>>(16-r|0);b[h>>1]=o;r=r+ -13|0}else{r=m+3|0}c[g>>2]=r;m=c[f+2844>>2]|0;n=c[f+2856>>2]|0;p=m+65280&65535;q=o&65535|p<<r;b[h>>1]=q;if((r|0)>11){s=f+20|0;o=c[s>>2]|0;c[s>>2]=o+1;t=f+8|0;a[(c[t>>2]|0)+o>>0]=q;q=(e[h>>1]|0)>>>8&255;o=c[s>>2]|0;c[s>>2]=o+1;a[(c[t>>2]|0)+o>>0]=q;o=c[g>>2]|0;q=p>>>(16-o|0);b[h>>1]=q;o=o+ -11|0}else{o=r+5|0}c[g>>2]=o;p=n&65535;q=p<<o|q&65535;b[h>>1]=q;if((o|0)>11){s=f+20|0;o=c[s>>2]|0;c[s>>2]=o+1;t=f+8|0;a[(c[t>>2]|0)+o>>0]=q;q=(e[h>>1]|0)>>>8&255;o=c[s>>2]|0;c[s>>2]=o+1;a[(c[t>>2]|0)+o>>0]=q;o=c[g>>2]|0;q=p>>>(16-o|0);b[h>>1]=q;o=o+ -11|0}else{o=o+5|0}c[g>>2]=o;p=l+65533&65535;t=p<<o|q&65535;b[h>>1]=t;if((o|0)>12){r=f+20|0;q=c[r>>2]|0;c[r>>2]=q+1;s=f+8|0;a[(c[s>>2]|0)+q>>0]=t;t=(e[h>>1]|0)>>>8&255;q=c[r>>2]|0;c[r>>2]=q+1;a[(c[s>>2]|0)+q>>0]=t;q=c[g>>2]|0;t=p>>>(16-q|0);b[h>>1]=t;q=q+ -12|0}else{q=o+4|0}c[g>>2]=q;if((l|0)>-1){p=f+20|0;o=f+8|0;r=0;while(1){s=e[f+(d[2888+r>>0]<<2)+2686>>1]|0;t=s<<q|t&65535;b[h>>1]=t;if((q|0)>13){q=c[p>>2]|0;c[p>>2]=q+1;a[(c[o>>2]|0)+q>>0]=t;t=(e[h>>1]|0)>>>8&255;q=c[p>>2]|0;c[p>>2]=q+1;a[(c[o>>2]|0)+q>>0]=t;q=c[g>>2]|0;t=s>>>(16-q|0);b[h>>1]=t;q=q+ -13|0}else{q=q+3|0}c[g>>2]=q;if((r|0)==(l|0)){break}else{r=r+1|0}}}s=f+148|0;hb(f,s,m);t=f+2440|0;hb(f,t,n);gb(f,s,t)}else{cb(f,g,h,j)}}while(0);bb(f);if((j|0)==0){i=k;return}j=f+5820|0;g=c[j>>2]|0;if((g|0)<=8){l=f+5816|0;if((g|0)>0){s=b[l>>1]&255;r=f+20|0;t=c[r>>2]|0;c[r>>2]=t+1;a[(c[f+8>>2]|0)+t>>0]=s}}else{l=f+5816|0;t=b[l>>1]&255;q=f+20|0;r=c[q>>2]|0;c[q>>2]=r+1;s=f+8|0;a[(c[s>>2]|0)+r>>0]=t;r=(e[l>>1]|0)>>>8&255;t=c[q>>2]|0;c[q>>2]=t+1;a[(c[s>>2]|0)+t>>0]=r}b[l>>1]=0;c[j>>2]=0;i=k;return}function fb(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;j=i;i=i+32|0;h=j;k=c[g>>2]|0;n=g+8|0;q=c[n>>2]|0;r=c[q>>2]|0;q=c[q+12>>2]|0;o=f+5200|0;c[o>>2]=0;m=f+5204|0;c[m>>2]=573;if((q|0)>0){l=-1;s=0;do{if((b[k+(s<<2)>>1]|0)==0){b[k+(s<<2)+2>>1]=0}else{l=(c[o>>2]|0)+1|0;c[o>>2]=l;c[f+(l<<2)+2908>>2]=s;a[f+s+5208>>0]=0;l=s}s=s+1|0}while((s|0)!=(q|0));t=c[o>>2]|0;if((t|0)<2){p=3}}else{t=0;l=-1;p=3}if((p|0)==3){p=f+5800|0;s=f+5804|0;if((r|0)==0){do{r=(l|0)<2;s=l+1|0;l=r?s:l;C=r?s:0;t=t+1|0;c[o>>2]=t;c[f+(t<<2)+2908>>2]=C;b[k+(C<<2)>>1]=1;a[f+C+5208>>0]=0;c[p>>2]=(c[p>>2]|0)+ -1;t=c[o>>2]|0}while((t|0)<2)}else{do{u=(l|0)<2;v=l+1|0;l=u?v:l;C=u?v:0;t=t+1|0;c[o>>2]=t;c[f+(t<<2)+2908>>2]=C;b[k+(C<<2)>>1]=1;a[f+C+5208>>0]=0;c[p>>2]=(c[p>>2]|0)+ -1;c[s>>2]=(c[s>>2]|0)-(e[r+(C<<2)+2>>1]|0);t=c[o>>2]|0}while((t|0)<2)}}p=g+4|0;c[p>>2]=l;r=c[o>>2]|0;if((r|0)>1){y=r;s=(r|0)/2|0;do{r=c[f+(s<<2)+2908>>2]|0;u=f+r+5208|0;w=s<<1;a:do{if((w|0)>(y|0)){v=s}else{t=k+(r<<2)|0;v=s;while(1){do{if((w|0)<(y|0)){x=w|1;y=c[f+(x<<2)+2908>>2]|0;B=b[k+(y<<2)>>1]|0;z=c[f+(w<<2)+2908>>2]|0;A=b[k+(z<<2)>>1]|0;if(!((B&65535)<(A&65535))){if(!(B<<16>>16==A<<16>>16)){x=w;break}if((d[f+y+5208>>0]|0)>(d[f+z+5208>>0]|0)){x=w;break}}}else{x=w}}while(0);y=b[t>>1]|0;w=c[f+(x<<2)+2908>>2]|0;z=b[k+(w<<2)>>1]|0;if((y&65535)<(z&65535)){break a}if(y<<16>>16==z<<16>>16?(d[u>>0]|0)<=(d[f+w+5208>>0]|0):0){break a}c[f+(v<<2)+2908>>2]=w;w=x<<1;y=c[o>>2]|0;if((w|0)>(y|0)){v=x;break}else{v=x}}}}while(0);c[f+(v<<2)+2908>>2]=r;s=s+ -1|0;y=c[o>>2]|0}while((s|0)>0)}else{y=r}r=f+2912|0;do{s=c[r>>2]|0;z=y+ -1|0;c[o>>2]=z;t=c[f+(y<<2)+2908>>2]|0;c[r>>2]=t;u=f+t+5208|0;b:do{if((y|0)<3){w=1}else{v=k+(t<<2)|0;x=2;w=1;while(1){do{if((x|0)<(z|0)){y=x|1;C=c[f+(y<<2)+2908>>2]|0;z=b[k+(C<<2)>>1]|0;B=c[f+(x<<2)+2908>>2]|0;A=b[k+(B<<2)>>1]|0;if(!((z&65535)<(A&65535))){if(!(z<<16>>16==A<<16>>16)){y=x;break}if((d[f+C+5208>>0]|0)>(d[f+B+5208>>0]|0)){y=x;break}}}else{y=x}}while(0);x=b[v>>1]|0;z=c[f+(y<<2)+2908>>2]|0;A=b[k+(z<<2)>>1]|0;if((x&65535)<(A&65535)){break b}if(x<<16>>16==A<<16>>16?(d[u>>0]|0)<=(d[f+z+5208>>0]|0):0){break b}c[f+(w<<2)+2908>>2]=z;x=y<<1;z=c[o>>2]|0;if((x|0)>(z|0)){w=y;break}else{w=y}}}}while(0);c[f+(w<<2)+2908>>2]=t;v=c[r>>2]|0;u=(c[m>>2]|0)+ -1|0;c[m>>2]=u;c[f+(u<<2)+2908>>2]=s;u=(c[m>>2]|0)+ -1|0;c[m>>2]=u;c[f+(u<<2)+2908>>2]=v;u=k+(q<<2)|0;b[u>>1]=(e[k+(v<<2)>>1]|0)+(e[k+(s<<2)>>1]|0);w=a[f+s+5208>>0]|0;x=a[f+v+5208>>0]|0;t=f+q+5208|0;a[t>>0]=(((w&255)<(x&255)?x:w)&255)+1;y=q&65535;b[k+(v<<2)+2>>1]=y;b[k+(s<<2)+2>>1]=y;s=q;q=q+1|0;c[r>>2]=s;y=c[o>>2]|0;c:do{if((y|0)<2){v=1}else{x=2;v=1;while(1){do{if((x|0)<(y|0)){w=x|1;B=c[f+(w<<2)+2908>>2]|0;z=b[k+(B<<2)>>1]|0;y=c[f+(x<<2)+2908>>2]|0;A=b[k+(y<<2)>>1]|0;if(!((z&65535)<(A&65535))){if(!(z<<16>>16==A<<16>>16)){w=x;break}if((d[f+B+5208>>0]|0)>(d[f+y+5208>>0]|0)){w=x;break}}}else{w=x}}while(0);y=b[u>>1]|0;z=c[f+(w<<2)+2908>>2]|0;x=b[k+(z<<2)>>1]|0;if((y&65535)<(x&65535)){break c}if(y<<16>>16==x<<16>>16?(d[t>>0]|0)<=(d[f+z+5208>>0]|0):0){break c}c[f+(v<<2)+2908>>2]=z;x=w<<1;y=c[o>>2]|0;if((x|0)>(y|0)){v=w;break}else{v=w}}}}while(0);c[f+(v<<2)+2908>>2]=s;y=c[o>>2]|0}while((y|0)>1);r=c[r>>2]|0;o=(c[m>>2]|0)+ -1|0;c[m>>2]=o;c[f+(o<<2)+2908>>2]=r;o=c[g>>2]|0;g=c[p>>2]|0;n=c[n>>2]|0;r=c[n>>2]|0;p=c[n+4>>2]|0;q=c[n+8>>2]|0;n=c[n+16>>2]|0;t=f+2876|0;s=t+32|0;do{b[t>>1]=0;t=t+2|0}while((t|0)<(s|0));u=c[m>>2]|0;b[o+(c[f+(u<<2)+2908>>2]<<2)+2>>1]=0;u=u+1|0;d:do{if((u|0)<573){m=f+5800|0;s=f+5804|0;if((r|0)==0){x=0;do{r=c[f+(u<<2)+2908>>2]|0;s=o+(r<<2)+2|0;t=e[o+(e[s>>1]<<2)+2>>1]|0;v=(t|0)<(n|0);t=v?t+1|0:n;x=(v&1^1)+x|0;b[s>>1]=t;if((r|0)<=(g|0)){C=f+(t<<1)+2876|0;b[C>>1]=(b[C>>1]|0)+1<<16>>16;if((r|0)<(q|0)){s=0}else{s=c[p+(r-q<<2)>>2]|0}C=Z(e[o+(r<<2)>>1]|0,s+t|0)|0;c[m>>2]=C+(c[m>>2]|0)}u=u+1|0}while((u|0)!=573)}else{x=0;do{t=c[f+(u<<2)+2908>>2]|0;v=o+(t<<2)+2|0;w=e[o+(e[v>>1]<<2)+2>>1]|0;y=(w|0)<(n|0);w=y?w+1|0:n;x=(y&1^1)+x|0;b[v>>1]=w;if((t|0)<=(g|0)){C=f+(w<<1)+2876|0;b[C>>1]=(b[C>>1]|0)+1<<16>>16;if((t|0)<(q|0)){v=0}else{v=c[p+(t-q<<2)>>2]|0}C=e[o+(t<<2)>>1]|0;B=Z(C,v+w|0)|0;c[m>>2]=B+(c[m>>2]|0);C=Z((e[r+(t<<2)+2>>1]|0)+v|0,C)|0;c[s>>2]=C+(c[s>>2]|0)}u=u+1|0}while((u|0)!=573)}if((x|0)!=0){p=f+(n<<1)+2876|0;do{t=n;while(1){s=t+ -1|0;q=f+(s<<1)+2876|0;r=b[q>>1]|0;if(r<<16>>16==0){t=s}else{break}}b[q>>1]=r+ -1<<16>>16;q=f+(t<<1)+2876|0;b[q>>1]=(e[q>>1]|0)+2;q=(b[p>>1]|0)+ -1<<16>>16;b[p>>1]=q;x=x+ -2|0}while((x|0)>0);if((n|0)!=0){r=573;while(1){p=n&65535;if(!(q<<16>>16==0)){q=q&65535;do{do{r=r+ -1|0;s=c[f+(r<<2)+2908>>2]|0}while((s|0)>(g|0));u=o+(s<<2)+2|0;t=e[u>>1]|0;if((t|0)!=(n|0)){C=Z(e[o+(s<<2)>>1]|0,n-t|0)|0;c[m>>2]=C+(c[m>>2]|0);b[u>>1]=p}q=q+ -1|0}while((q|0)!=0)}n=n+ -1|0;if((n|0)==0){break d}q=b[f+(n<<1)+2876>>1]|0}}}}}while(0);n=1;m=0;do{m=(e[f+(n+ -1<<1)+2876>>1]|0)+(m&65534)<<1;b[h+(n<<1)>>1]=m;n=n+1|0}while((n|0)!=16);if((l|0)<0){i=j;return}else{f=0}while(1){C=b[k+(f<<2)+2>>1]|0;n=C&65535;if(!(C<<16>>16==0)){o=h+(n<<1)|0;m=b[o>>1]|0;b[o>>1]=m+1<<16>>16;m=m&65535;o=0;while(1){o=o|m&1;n=n+ -1|0;if((n|0)<=0){break}else{m=m>>>1;o=o<<1}}b[k+(f<<2)>>1]=o}if((f|0)==(l|0)){break}else{f=f+1|0}}i=j;return}function gb(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;j=i;q=f+5792|0;if((c[q>>2]|0)==0){t=c[f+5820>>2]|0;w=b[f+5816>>1]|0}else{o=f+5796|0;p=f+5784|0;n=f+5820|0;r=f+5816|0;l=f+20|0;m=f+8|0;t=0;while(1){z=b[(c[o>>2]|0)+(t<<1)>>1]|0;s=z&65535;k=t+1|0;t=d[(c[p>>2]|0)+t>>0]|0;do{if(z<<16>>16==0){u=e[g+(t<<2)+2>>1]|0;s=c[n>>2]|0;t=e[g+(t<<2)>>1]|0;v=e[r>>1]|0|t<<s;w=v&65535;b[r>>1]=w;if((s|0)>(16-u|0)){w=c[l>>2]|0;c[l>>2]=w+1;a[(c[m>>2]|0)+w>>0]=v;w=(e[r>>1]|0)>>>8&255;z=c[l>>2]|0;c[l>>2]=z+1;a[(c[m>>2]|0)+z>>0]=w;z=c[n>>2]|0;w=t>>>(16-z|0)&65535;b[r>>1]=w;t=u+ -16+z|0;c[n>>2]=t;break}else{t=s+u|0;c[n>>2]=t;break}}else{u=d[808+t>>0]|0;x=(u|256)+1|0;v=e[g+(x<<2)+2>>1]|0;z=c[n>>2]|0;x=e[g+(x<<2)>>1]|0;y=e[r>>1]|0|x<<z;w=y&65535;b[r>>1]=w;if((z|0)>(16-v|0)){w=c[l>>2]|0;c[l>>2]=w+1;a[(c[m>>2]|0)+w>>0]=y;w=(e[r>>1]|0)>>>8&255;z=c[l>>2]|0;c[l>>2]=z+1;a[(c[m>>2]|0)+z>>0]=w;z=c[n>>2]|0;w=x>>>(16-z|0)&65535;b[r>>1]=w;v=v+ -16+z|0}else{v=z+v|0}c[n>>2]=v;x=c[2408+(u<<2)>>2]|0;do{if((u+ -8|0)>>>0<20){t=t-(c[2528+(u<<2)>>2]|0)&65535;u=t<<v|w&65535;w=u&65535;b[r>>1]=w;if((v|0)>(16-x|0)){w=c[l>>2]|0;c[l>>2]=w+1;a[(c[m>>2]|0)+w>>0]=u;w=(e[r>>1]|0)>>>8&255;z=c[l>>2]|0;c[l>>2]=z+1;a[(c[m>>2]|0)+z>>0]=w;z=c[n>>2]|0;w=t>>>(16-z|0)&65535;b[r>>1]=w;t=x+ -16+z|0;c[n>>2]=t;break}else{t=v+x|0;c[n>>2]=t;break}}else{t=v}}while(0);s=s+ -1|0;if(s>>>0<256){u=s}else{u=(s>>>7)+256|0}u=d[296+u>>0]|0;x=e[h+(u<<2)+2>>1]|0;v=e[h+(u<<2)>>1]|0;y=w&65535|v<<t;w=y&65535;b[r>>1]=w;if((t|0)>(16-x|0)){w=c[l>>2]|0;c[l>>2]=w+1;a[(c[m>>2]|0)+w>>0]=y;w=(e[r>>1]|0)>>>8&255;t=c[l>>2]|0;c[l>>2]=t+1;a[(c[m>>2]|0)+t>>0]=w;t=c[n>>2]|0;w=v>>>(16-t|0)&65535;b[r>>1]=w;t=x+ -16+t|0}else{t=t+x|0}c[n>>2]=t;v=c[2648+(u<<2)>>2]|0;if((u+ -4|0)>>>0<26){s=s-(c[2768+(u<<2)>>2]|0)&65535;u=s<<t|w&65535;w=u&65535;b[r>>1]=w;if((t|0)>(16-v|0)){w=c[l>>2]|0;c[l>>2]=w+1;a[(c[m>>2]|0)+w>>0]=u;w=(e[r>>1]|0)>>>8&255;t=c[l>>2]|0;c[l>>2]=t+1;a[(c[m>>2]|0)+t>>0]=w;t=c[n>>2]|0;w=s>>>(16-t|0)&65535;b[r>>1]=w;t=v+ -16+t|0;c[n>>2]=t;break}else{t=t+v|0;c[n>>2]=t;break}}}}while(0);if(k>>>0<(c[q>>2]|0)>>>0){t=k}else{break}}}l=g+1026|0;m=e[l>>1]|0;k=f+5820|0;g=e[g+1024>>1]|0;h=f+5816|0;n=w&65535|g<<t;b[h>>1]=n;if((t|0)>(16-m|0)){w=f+20|0;x=c[w>>2]|0;c[w>>2]=x+1;z=f+8|0;a[(c[z>>2]|0)+x>>0]=n;x=(e[h>>1]|0)>>>8&255;y=c[w>>2]|0;c[w>>2]=y+1;a[(c[z>>2]|0)+y>>0]=x;y=c[k>>2]|0;b[h>>1]=g>>>(16-y|0);y=m+ -16+y|0;c[k>>2]=y;y=b[l>>1]|0;y=y&65535;z=f+5812|0;c[z>>2]=y;i=j;return}else{y=t+m|0;c[k>>2]=y;y=b[l>>1]|0;y=y&65535;z=f+5812|0;c[z>>2]=y;i=j;return}}function hb(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;r=i;t=b[f+2>>1]|0;u=t<<16>>16==0;n=d+2754|0;k=d+5820|0;o=d+2752|0;j=d+5816|0;s=d+20|0;q=d+8|0;p=d+2758|0;h=d+2756|0;l=d+2750|0;m=d+2748|0;z=u?138:7;B=u?3:4;w=0;t=t&65535;C=-1;a:while(1){y=0;while(1){if((w|0)>(g|0)){break a}w=w+1|0;x=b[f+(w<<2)+2>>1]|0;u=x&65535;A=y+1|0;v=(t|0)==(u|0);if(!((A|0)<(z|0)&v)){break}else{y=A}}do{if((A|0)>=(B|0)){if((t|0)!=0){if((t|0)==(C|0)){z=c[k>>2]|0;B=b[j>>1]|0;y=A}else{z=e[d+(t<<2)+2686>>1]|0;A=c[k>>2]|0;C=e[d+(t<<2)+2684>>1]|0;D=e[j>>1]|0|C<<A;B=D&65535;b[j>>1]=B;if((A|0)>(16-z|0)){B=c[s>>2]|0;c[s>>2]=B+1;a[(c[q>>2]|0)+B>>0]=D;B=(e[j>>1]|0)>>>8&255;F=c[s>>2]|0;c[s>>2]=F+1;a[(c[q>>2]|0)+F>>0]=B;F=c[k>>2]|0;B=C>>>(16-F|0)&65535;b[j>>1]=B;z=z+ -16+F|0}else{z=A+z|0}c[k>>2]=z}A=e[l>>1]|0;C=e[m>>1]|0;B=B&65535|C<<z;b[j>>1]=B;if((z|0)>(16-A|0)){z=c[s>>2]|0;c[s>>2]=z+1;a[(c[q>>2]|0)+z>>0]=B;B=(e[j>>1]|0)>>>8&255;z=c[s>>2]|0;c[s>>2]=z+1;a[(c[q>>2]|0)+z>>0]=B;z=c[k>>2]|0;B=C>>>(16-z|0);b[j>>1]=B;z=A+ -16+z|0}else{z=z+A|0}c[k>>2]=z;y=y+65533&65535;A=B&65535|y<<z;b[j>>1]=A;if((z|0)>14){E=c[s>>2]|0;c[s>>2]=E+1;a[(c[q>>2]|0)+E>>0]=A;E=(e[j>>1]|0)>>>8&255;F=c[s>>2]|0;c[s>>2]=F+1;a[(c[q>>2]|0)+F>>0]=E;F=c[k>>2]|0;b[j>>1]=y>>>(16-F|0);c[k>>2]=F+ -14;break}else{c[k>>2]=z+2;break}}if((A|0)<11){B=e[n>>1]|0;C=c[k>>2]|0;z=e[o>>1]|0;A=e[j>>1]|0|z<<C;b[j>>1]=A;if((C|0)>(16-B|0)){F=c[s>>2]|0;c[s>>2]=F+1;a[(c[q>>2]|0)+F>>0]=A;A=(e[j>>1]|0)>>>8&255;F=c[s>>2]|0;c[s>>2]=F+1;a[(c[q>>2]|0)+F>>0]=A;F=c[k>>2]|0;A=z>>>(16-F|0);b[j>>1]=A;z=B+ -16+F|0}else{z=C+B|0}c[k>>2]=z;y=y+65534&65535;A=A&65535|y<<z;b[j>>1]=A;if((z|0)>13){E=c[s>>2]|0;c[s>>2]=E+1;a[(c[q>>2]|0)+E>>0]=A;E=(e[j>>1]|0)>>>8&255;F=c[s>>2]|0;c[s>>2]=F+1;a[(c[q>>2]|0)+F>>0]=E;F=c[k>>2]|0;b[j>>1]=y>>>(16-F|0);c[k>>2]=F+ -13;break}else{c[k>>2]=z+3;break}}else{z=e[p>>1]|0;C=c[k>>2]|0;B=e[h>>1]|0;A=e[j>>1]|0|B<<C;b[j>>1]=A;if((C|0)>(16-z|0)){F=c[s>>2]|0;c[s>>2]=F+1;a[(c[q>>2]|0)+F>>0]=A;A=(e[j>>1]|0)>>>8&255;F=c[s>>2]|0;c[s>>2]=F+1;a[(c[q>>2]|0)+F>>0]=A;F=c[k>>2]|0;A=B>>>(16-F|0);b[j>>1]=A;z=z+ -16+F|0}else{z=C+z|0}c[k>>2]=z;y=y+65526&65535;A=A&65535|y<<z;b[j>>1]=A;if((z|0)>9){E=c[s>>2]|0;c[s>>2]=E+1;a[(c[q>>2]|0)+E>>0]=A;E=(e[j>>1]|0)>>>8&255;F=c[s>>2]|0;c[s>>2]=F+1;a[(c[q>>2]|0)+F>>0]=E;F=c[k>>2]|0;b[j>>1]=y>>>(16-F|0);c[k>>2]=F+ -9;break}else{c[k>>2]=z+7;break}}}else{y=d+(t<<2)+2686|0;z=d+(t<<2)+2684|0;B=c[k>>2]|0;F=b[j>>1]|0;do{C=e[y>>1]|0;D=e[z>>1]|0;E=F&65535|D<<B;F=E&65535;b[j>>1]=F;if((B|0)>(16-C|0)){F=c[s>>2]|0;c[s>>2]=F+1;a[(c[q>>2]|0)+F>>0]=E;F=(e[j>>1]|0)>>>8&255;B=c[s>>2]|0;c[s>>2]=B+1;a[(c[q>>2]|0)+B>>0]=F;B=c[k>>2]|0;F=D>>>(16-B|0)&65535;b[j>>1]=F;B=C+ -16+B|0}else{B=B+C|0}c[k>>2]=B;A=A+ -1|0}while((A|0)!=0)}}while(0);if(x<<16>>16==0){C=t;z=138;B=3;t=u;continue}C=t;z=v?6:7;B=v?3:4;t=u}i=r;return}function ib(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=i;m=b[c+2>>1]|0;l=m<<16>>16==0;b[c+(d+1<<2)+2>>1]=-1;f=a+2752|0;g=a+2756|0;h=a+2748|0;j=l?138:7;l=l?3:4;p=0;n=m&65535;o=-1;a:while(1){q=0;do{if((p|0)>(d|0)){break a}p=p+1|0;s=b[c+(p<<2)+2>>1]|0;m=s&65535;q=q+1|0;r=(n|0)==(m|0)}while((q|0)<(j|0)&r);do{if((q|0)>=(l|0)){if((n|0)==0){if((q|0)<11){b[f>>1]=(b[f>>1]|0)+1<<16>>16;break}else{b[g>>1]=(b[g>>1]|0)+1<<16>>16;break}}else{if((n|0)!=(o|0)){q=a+(n<<2)+2684|0;b[q>>1]=(b[q>>1]|0)+1<<16>>16}b[h>>1]=(b[h>>1]|0)+1<<16>>16;break}}else{o=a+(n<<2)+2684|0;b[o>>1]=(e[o>>1]|0)+q}}while(0);if(s<<16>>16==0){o=n;j=138;l=3;n=m;continue}o=n;j=r?6:7;l=r?3:4;n=m}i=k;return}function jb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+64|0;g=f;c[g>>2]=d;d=g+4|0;c[d>>2]=e;c[g+12>>2]=a;c[g+16>>2]=c[b>>2];c[g+32>>2]=0;c[g+36>>2]=0;a=ob(g,2992,56)|0;if((a|0)!=0){e=a;i=f;return e|0}a=pb(g,4)|0;if((a|0)==1){c[b>>2]=c[g+20>>2];e=rb(g)|0;i=f;return e|0}rb(g)|0;if((a|0)==-5){h=4}else if((a|0)==2){e=-3;i=f;return e|0}if((h|0)==4?(c[d>>2]|0)==0:0){e=-3;i=f;return e|0}e=a;i=f;return e|0}function kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=i;a=ub(Z(c,b)|0)|0;i=d;return a|0}function lb(a,b){a=a|0;b=b|0;a=i;vb(b);i=a;return}function mb(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=i;g=a>>>16;a=a&65535;if((c|0)==1){f=(d[b>>0]|0)+a|0;f=f>>>0>65520?f+ -65521|0:f;g=f+g|0;j=(g>>>0>65520?g+15|0:g)<<16|f;i=e;return j|0}if((b|0)==0){j=1;i=e;return j|0}if(c>>>0<16){if((c|0)!=0){while(1){c=c+ -1|0;a=(d[b>>0]|0)+a|0;g=a+g|0;if((c|0)==0){break}else{b=b+1|0}}}j=((g>>>0)%65521|0)<<16|(a>>>0>65520?a+ -65521|0:a);i=e;return j|0}if(c>>>0>5551){do{c=c+ -5552|0;h=b;j=347;while(1){y=(d[h>>0]|0)+a|0;x=y+(d[h+1>>0]|0)|0;w=x+(d[h+2>>0]|0)|0;v=w+(d[h+3>>0]|0)|0;u=v+(d[h+4>>0]|0)|0;t=u+(d[h+5>>0]|0)|0;s=t+(d[h+6>>0]|0)|0;r=s+(d[h+7>>0]|0)|0;q=r+(d[h+8>>0]|0)|0;p=q+(d[h+9>>0]|0)|0;o=p+(d[h+10>>0]|0)|0;n=o+(d[h+11>>0]|0)|0;m=n+(d[h+12>>0]|0)|0;l=m+(d[h+13>>0]|0)|0;k=l+(d[h+14>>0]|0)|0;a=k+(d[h+15>>0]|0)|0;g=y+g+x+w+v+u+t+s+r+q+p+o+n+m+l+k+a|0;j=j+ -1|0;if((j|0)==0){break}else{h=h+16|0}}b=b+5552|0;a=(a>>>0)%65521|0;g=(g>>>0)%65521|0}while(c>>>0>5551);if((c|0)!=0){if(c>>>0>15){f=15}else{f=16}}}else{f=15}if((f|0)==15){while(1){c=c+ -16|0;k=(d[b>>0]|0)+a|0;l=k+(d[b+1>>0]|0)|0;m=l+(d[b+2>>0]|0)|0;n=m+(d[b+3>>0]|0)|0;o=n+(d[b+4>>0]|0)|0;p=o+(d[b+5>>0]|0)|0;q=p+(d[b+6>>0]|0)|0;r=q+(d[b+7>>0]|0)|0;s=r+(d[b+8>>0]|0)|0;t=s+(d[b+9>>0]|0)|0;u=t+(d[b+10>>0]|0)|0;v=u+(d[b+11>>0]|0)|0;w=v+(d[b+12>>0]|0)|0;x=w+(d[b+13>>0]|0)|0;y=x+(d[b+14>>0]|0)|0;a=y+(d[b+15>>0]|0)|0;g=k+g+l+m+n+o+p+q+r+s+t+u+v+w+x+y+a|0;b=b+16|0;if(!(c>>>0>15)){break}else{f=15}}if((c|0)==0){f=17}else{f=16}}if((f|0)==16){while(1){c=c+ -1|0;a=(d[b>>0]|0)+a|0;g=a+g|0;if((c|0)==0){f=17;break}else{b=b+1|0;f=16}}}if((f|0)==17){a=(a>>>0)%65521|0;g=(g>>>0)%65521|0}y=g<<16|a;i=e;return y|0}function nb(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;f=i;if((b|0)==0){g=0;i=f;return g|0}a=~a;a:do{if((e|0)!=0){while(1){if((b&3|0)==0){break}a=c[3192+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+ -1|0;if((e|0)==0){break a}else{b=b+1|0}}if(e>>>0>31){while(1){a=c[b>>2]^a;a=c[5240+((a>>>8&255)<<2)>>2]^c[6264+((a&255)<<2)>>2]^c[4216+((a>>>16&255)<<2)>>2]^c[3192+(a>>>24<<2)>>2]^c[b+4>>2];a=c[5240+((a>>>8&255)<<2)>>2]^c[6264+((a&255)<<2)>>2]^c[4216+((a>>>16&255)<<2)>>2]^c[3192+(a>>>24<<2)>>2]^c[b+8>>2];a=c[5240+((a>>>8&255)<<2)>>2]^c[6264+((a&255)<<2)>>2]^c[4216+((a>>>16&255)<<2)>>2]^c[3192+(a>>>24<<2)>>2]^c[b+12>>2];a=c[5240+((a>>>8&255)<<2)>>2]^c[6264+((a&255)<<2)>>2]^c[4216+((a>>>16&255)<<2)>>2]^c[3192+(a>>>24<<2)>>2]^c[b+16>>2];a=c[5240+((a>>>8&255)<<2)>>2]^c[6264+((a&255)<<2)>>2]^c[4216+((a>>>16&255)<<2)>>2]^c[3192+(a>>>24<<2)>>2]^c[b+20>>2];a=c[5240+((a>>>8&255)<<2)>>2]^c[6264+((a&255)<<2)>>2]^c[4216+((a>>>16&255)<<2)>>2]^c[3192+(a>>>24<<2)>>2]^c[b+24>>2];g=b+32|0;a=c[5240+((a>>>8&255)<<2)>>2]^c[6264+((a&255)<<2)>>2]^c[4216+((a>>>16&255)<<2)>>2]^c[3192+(a>>>24<<2)>>2]^c[b+28>>2];a=c[5240+((a>>>8&255)<<2)>>2]^c[6264+((a&255)<<2)>>2]^c[4216+((a>>>16&255)<<2)>>2]^c[3192+(a>>>24<<2)>>2];e=e+ -32|0;if(e>>>0>31){b=g}else{b=g;break}}}if(e>>>0>3){while(1){g=b+4|0;a=c[b>>2]^a;a=c[5240+((a>>>8&255)<<2)>>2]^c[6264+((a&255)<<2)>>2]^c[4216+((a>>>16&255)<<2)>>2]^c[3192+(a>>>24<<2)>>2];e=e+ -4|0;if(e>>>0>3){b=g}else{b=g;break}}}if((e|0)!=0){while(1){a=c[3192+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+ -1|0;if((e|0)==0){break}else{b=b+1|0}}}}}while(0);g=~a;i=f;return g|0}function ob(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;if((d|0)==0){n=-6;i=f;return n|0}if(!((a[d>>0]|0)==49&(e|0)==56)){n=-6;i=f;return n|0}if((b|0)==0){n=-2;i=f;return n|0}d=b+24|0;c[d>>2]=0;e=b+32|0;h=c[e>>2]|0;if((h|0)==0){c[e>>2]=1;c[b+40>>2]=0;h=1}e=b+36|0;if((c[e>>2]|0)==0){c[e>>2]=1}g=b+40|0;k=Da[h&1](c[g>>2]|0,1,7116)|0;if((k|0)==0){n=-4;i=f;return n|0}h=b+28|0;c[h>>2]=k;c[k+52>>2]=0;l=c[h>>2]|0;do{if((l|0)!=0){m=l+52|0;n=c[m>>2]|0;j=l+36|0;if((n|0)!=0){if((c[j>>2]|0)==15){m=l}else{Ea[c[e>>2]&1](c[g>>2]|0,n);c[m>>2]=0;m=c[h>>2]|0}c[l+8>>2]=1;c[j>>2]=15;if((m|0)==0){break}else{l=m}}else{c[l+8>>2]=1;c[j>>2]=15}c[l+28>>2]=0;c[b+20>>2]=0;c[b+8>>2]=0;c[d>>2]=0;c[b+48>>2]=1;c[l>>2]=0;c[l+4>>2]=0;c[l+12>>2]=0;c[l+20>>2]=32768;c[l+32>>2]=0;c[l+40>>2]=0;c[l+44>>2]=0;c[l+48>>2]=0;c[l+56>>2]=0;c[l+60>>2]=0;n=l+1328|0;c[l+108>>2]=n;c[l+80>>2]=n;c[l+76>>2]=n;c[l+7104>>2]=1;c[l+7108>>2]=-1;n=0;i=f;return n|0}}while(0);Ea[c[e>>2]&1](c[g>>2]|0,k);c[h>>2]=0;n=-2;i=f;return n|0}function pb(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0;h=i;i=i+16|0;D=h;if((f|0)==0){xa=-2;i=h;return xa|0}j=c[f+28>>2]|0;if((j|0)==0){xa=-2;i=h;return xa|0}n=f+12|0;y=c[n>>2]|0;if((y|0)==0){xa=-2;i=h;return xa|0}na=c[f>>2]|0;if((na|0)==0?(c[f+4>>2]|0)!=0:0){xa=-2;i=h;return xa|0}sa=c[j>>2]|0;if((sa|0)==11){c[j>>2]=12;sa=12;na=c[f>>2]|0;y=c[n>>2]|0}u=f+16|0;ka=c[u>>2]|0;v=f+4|0;l=c[v>>2]|0;w=j+56|0;k=j+60|0;r=j+8|0;p=j+24|0;Q=D+1|0;q=j+16|0;P=j+32|0;K=f+24|0;T=j+36|0;U=j+20|0;o=f+48|0;R=j+64|0;X=j+12|0;Y=(g+ -5|0)>>>0<2;m=j+4|0;Z=j+76|0;_=j+84|0;$=j+80|0;aa=j+88|0;S=(g|0)==6;H=j+7108|0;J=j+72|0;ga=j+7112|0;I=j+68|0;G=j+44|0;ja=j+7104|0;ia=j+48|0;ha=j+52|0;x=j+40|0;s=f+20|0;t=j+28|0;M=j+96|0;N=j+100|0;O=j+92|0;L=j+104|0;ba=j+1328|0;ca=j+108|0;da=j+112|0;ea=j+752|0;fa=j+624|0;V=D+2|0;W=D+3|0;va=c[k>>2]|0;qa=l;pa=c[w>>2]|0;F=ka;ma=0;a:while(1){b:do{switch(sa|0){case 21:{ra=c[J>>2]|0;oa=va;la=221;break};case 18:{oa=c[L>>2]|0;ua=qa;la=164;break};case 16:{if(va>>>0<14){oa=va;while(1){if((qa|0)==0){qa=0;break a}qa=qa+ -1|0;ra=na+1|0;pa=(d[na>>0]<<oa)+pa|0;oa=oa+8|0;if(oa>>>0<14){na=ra}else{na=ra;break}}}else{oa=va}wa=(pa&31)+257|0;c[M>>2]=wa;xa=(pa>>>5&31)+1|0;c[N>>2]=xa;c[O>>2]=(pa>>>10&15)+4;pa=pa>>>14;oa=oa+ -14|0;if(wa>>>0>286|xa>>>0>30){c[K>>2]=11616;c[j>>2]=29;ra=F;break b}else{c[L>>2]=0;c[j>>2]=17;ra=0;la=154;break b}};case 1:{if(va>>>0<16){oa=va;while(1){if((qa|0)==0){qa=0;break a}qa=qa+ -1|0;ra=na+1|0;pa=(d[na>>0]<<oa)+pa|0;oa=oa+8|0;if(oa>>>0<16){na=ra}else{na=ra;break}}}else{oa=va}c[q>>2]=pa;if((pa&255|0)!=8){c[K>>2]=11448;c[j>>2]=29;ra=F;break b}if((pa&57344|0)!=0){c[K>>2]=11504;c[j>>2]=29;ra=F;break b}la=c[P>>2]|0;if((la|0)==0){la=pa}else{c[la>>2]=pa>>>8&1;la=c[q>>2]|0}if((la&512|0)!=0){a[D>>0]=pa;a[Q>>0]=pa>>>8;c[p>>2]=nb(c[p>>2]|0,D,2)|0}c[j>>2]=2;oa=0;pa=0;la=47;break};case 17:{ra=c[L>>2]|0;if(ra>>>0<(c[O>>2]|0)>>>0){oa=va;la=154}else{la=158}break};case 19:{oa=va;la=201;break};case 20:{oa=va;la=202;break};case 22:{oa=va;la=228;break};case 24:{oa=va;la=246;break};case 25:{if((F|0)==0){oa=va;F=0;la=285;break a}a[y>>0]=c[R>>2];c[j>>2]=20;oa=va;ra=F+ -1|0;y=y+1|0;break};case 26:{if((c[r>>2]|0)!=0){if(va>>>0<32){oa=va;while(1){if((qa|0)==0){qa=0;break a}qa=qa+ -1|0;ra=na+1|0;pa=(d[na>>0]<<oa)+pa|0;oa=oa+8|0;if(oa>>>0<32){na=ra}else{na=ra;break}}}else{oa=va}ra=ka-F|0;c[s>>2]=(c[s>>2]|0)+ra;c[t>>2]=(c[t>>2]|0)+ra;if((ka|0)!=(F|0)){sa=c[p>>2]|0;ka=y+(0-ra)|0;if((c[q>>2]|0)==0){ka=mb(sa,ka,ra)|0}else{ka=nb(sa,ka,ra)|0}c[p>>2]=ka;c[o>>2]=ka}if((c[q>>2]|0)==0){ka=Ab(pa|0)|0}else{ka=pa}if((ka|0)==(c[p>>2]|0)){oa=0;pa=0;ka=F}else{c[K>>2]=11904;c[j>>2]=29;ra=F;ka=F;break b}}else{oa=va}c[j>>2]=27;la=277;break};case 27:{oa=va;la=277;break};case 28:{oa=va;ma=1;la=285;break a};case 29:{oa=va;ma=-3;break a};case 30:{la=299;break a};case 8:{oa=va;la=109;break};case 7:{oa=va;la=96;break};case 6:{oa=va;la=83;break};case 10:{oa=va;la=121;break};case 13:{oa=va&7;pa=pa>>>oa;oa=va-oa|0;if(oa>>>0<32){while(1){if((qa|0)==0){qa=0;break a}qa=qa+ -1|0;ra=na+1|0;pa=(d[na>>0]<<oa)+pa|0;oa=oa+8|0;if(oa>>>0<32){na=ra}else{na=ra;break}}}ra=pa&65535;if((ra|0)==(pa>>>16^65535|0)){c[R>>2]=ra;c[j>>2]=14;if(S){oa=0;pa=0;la=285;break a}else{oa=0;pa=0;la=143;break b}}else{c[K>>2]=11584;c[j>>2]=29;ra=F;break b}};case 14:{oa=va;la=143;break};case 15:{oa=va;la=144;break};case 11:{oa=va;la=124;break};case 12:{oa=va;la=125;break};case 23:{ra=c[J>>2]|0;oa=va;la=240;break};case 9:{if(va>>>0<32){oa=va;while(1){if((qa|0)==0){qa=0;break a}qa=qa+ -1|0;ra=na+1|0;pa=(d[na>>0]<<oa)+pa|0;oa=oa+8|0;if(oa>>>0<32){na=ra}else{na=ra;break}}}oa=Ab(pa|0)|0;c[p>>2]=oa;c[o>>2]=oa;c[j>>2]=10;oa=0;pa=0;la=121;break};case 2:{if(va>>>0<32){oa=va;la=47}else{la=49}break};case 3:{if(va>>>0<16){oa=va;ra=na;la=55}else{la=57}break};case 4:{oa=va;la=62;break};case 5:{oa=va;la=73;break};case 0:{ra=c[r>>2]|0;if((ra|0)==0){c[j>>2]=12;oa=va;ra=F;break b}if(va>>>0<16){oa=va;while(1){if((qa|0)==0){qa=0;break a}qa=qa+ -1|0;sa=na+1|0;pa=(d[na>>0]<<oa)+pa|0;oa=oa+8|0;if(oa>>>0<16){na=sa}else{na=sa;break}}}else{oa=va}if((ra&2|0)!=0&(pa|0)==35615){c[p>>2]=nb(0,0,0)|0;a[D>>0]=31;a[Q>>0]=-117;c[p>>2]=nb(c[p>>2]|0,D,2)|0;c[j>>2]=1;oa=0;pa=0;ra=F;break b}c[q>>2]=0;sa=c[P>>2]|0;if((sa|0)!=0){c[sa+48>>2]=-1;ra=c[r>>2]|0}if((ra&1|0)!=0?((((pa<<8&65280)+(pa>>>8)|0)>>>0)%31|0|0)==0:0){if((pa&15|0)!=8){c[K>>2]=11448;c[j>>2]=29;ra=F;break b}ra=pa>>>4;oa=oa+ -4|0;ta=(ra&15)+8|0;sa=c[T>>2]|0;if((sa|0)!=0){if(ta>>>0>sa>>>0){c[K>>2]=11480;c[j>>2]=29;pa=ra;ra=F;break b}}else{c[T>>2]=ta}c[U>>2]=1<<ta;oa=mb(0,0,0)|0;c[p>>2]=oa;c[o>>2]=oa;c[j>>2]=pa>>>12&2^11;oa=0;pa=0;ra=F;break b}c[K>>2]=11424;c[j>>2]=29;ra=F;break};default:{f=-2;la=300;break a}}}while(0);if((la|0)==47){while(1){la=0;if((qa|0)==0){qa=0;break a}qa=qa+ -1|0;la=na+1|0;pa=(d[na>>0]<<oa)+pa|0;oa=oa+8|0;if(oa>>>0<32){na=la;la=47}else{na=la;la=49;break}}}else if((la|0)==121){if((c[X>>2]|0)==0){la=122;break}la=mb(0,0,0)|0;c[p>>2]=la;c[o>>2]=la;c[j>>2]=11;la=124}else if((la|0)==143){c[j>>2]=15;la=144}else if((la|0)==154){while(1){la=0;if(oa>>>0<3){while(1){if((qa|0)==0){qa=0;break a}qa=qa+ -1|0;sa=na+1|0;pa=(d[na>>0]<<oa)+pa|0;oa=oa+8|0;if(oa>>>0<3){na=sa}else{na=sa;break}}}c[L>>2]=ra+1;b[j+(e[11384+(ra<<1)>>1]<<1)+112>>1]=pa&7;pa=pa>>>3;oa=oa+ -3|0;ra=c[L>>2]|0;if(ra>>>0<(c[O>>2]|0)>>>0){la=154}else{va=oa;la=158;break}}}else if((la|0)==277){la=0;if((c[r>>2]|0)==0){la=284;break}if((c[q>>2]|0)==0){la=284;break}if(oa>>>0<32){ra=na;while(1){if((qa|0)==0){qa=0;na=ra;break a}qa=qa+ -1|0;na=ra+1|0;pa=(d[ra>>0]<<oa)+pa|0;oa=oa+8|0;if(oa>>>0<32){ra=na}else{break}}}if((pa|0)==(c[t>>2]|0)){oa=0;pa=0;la=284;break}c[K>>2]=11928;c[j>>2]=29;ra=F}do{if((la|0)==49){la=c[P>>2]|0;if((la|0)!=0){c[la+4>>2]=pa}if((c[q>>2]&512|0)!=0){a[D>>0]=pa;a[Q>>0]=pa>>>8;a[V>>0]=pa>>>16;a[W>>0]=pa>>>24;c[p>>2]=nb(c[p>>2]|0,D,4)|0}c[j>>2]=3;oa=0;pa=0;ra=na;la=55}else if((la|0)==124){if(Y){la=285;break a}else{la=125}}else if((la|0)==144){la=0;ra=c[R>>2]|0;if((ra|0)==0){c[j>>2]=11;ra=F;break}ra=ra>>>0>qa>>>0?qa:ra;sa=ra>>>0>F>>>0?F:ra;if((sa|0)==0){la=285;break a}Bb(y|0,na|0,sa|0)|0;c[R>>2]=(c[R>>2]|0)-sa;qa=qa-sa|0;ra=F-sa|0;na=na+sa|0;y=y+sa|0}else if((la|0)==158){la=0;if(ra>>>0<19){do{xa=ra;ra=ra+1|0;b[j+(e[11384+(xa<<1)>>1]<<1)+112>>1]=0}while((ra|0)!=19);c[L>>2]=19}c[ca>>2]=ba;c[Z>>2]=ba;c[_>>2]=7;ma=sb(0,da,19,ca,_,ea)|0;if((ma|0)==0){c[L>>2]=0;c[j>>2]=18;oa=0;ua=qa;ma=0;la=164;break}else{c[K>>2]=11656;c[j>>2]=29;oa=va;ra=F;break}}}while(0);c:do{if((la|0)==55){while(1){la=0;if((qa|0)==0){qa=0;na=ra;break a}qa=qa+ -1|0;na=ra+1|0;pa=(d[ra>>0]<<oa)+pa|0;oa=oa+8|0;if(oa>>>0<16){ra=na;la=55}else{la=57;break}}}else if((la|0)==125){la=0;if((c[m>>2]|0)!=0){ra=oa&7;c[j>>2]=26;oa=oa-ra|0;pa=pa>>>ra;ra=F;break}if(oa>>>0<3){while(1){if((qa|0)==0){qa=0;break a}qa=qa+ -1|0;ra=na+1|0;pa=(d[na>>0]<<oa)+pa|0;oa=oa+8|0;if(oa>>>0<3){na=ra}else{na=ra;break}}}c[m>>2]=pa&1;ra=pa>>>1&3;if((ra|0)==0){c[j>>2]=13}else if((ra|0)==1){c[Z>>2]=11952;c[_>>2]=9;c[$>>2]=14e3;c[aa>>2]=5;c[j>>2]=19;if(S){la=133;break a}}else if((ra|0)==2){c[j>>2]=16}else if((ra|0)==3){c[K>>2]=11560;c[j>>2]=29}oa=oa+ -3|0;pa=pa>>>3;ra=F}else if((la|0)==164){la=0;ra=c[M>>2]|0;qa=c[N>>2]|0;do{if(oa>>>0<(qa+ra|0)>>>0){d:while(1){wa=(1<<c[_>>2])+ -1|0;xa=wa&pa;ta=c[Z>>2]|0;sa=d[ta+(xa<<2)+1>>0]|0;if(sa>>>0>va>>>0){while(1){if((ua|0)==0){oa=va;qa=0;break a}ua=ua+ -1|0;xa=na+1|0;pa=(d[na>>0]<<va)+pa|0;va=va+8|0;na=wa&pa;sa=d[ta+(na<<2)+1>>0]|0;if(sa>>>0>va>>>0){na=xa}else{wa=na;na=xa;break}}}else{wa=xa}ta=b[ta+(wa<<2)+2>>1]|0;e:do{if((ta&65535)<16){if(va>>>0<sa>>>0){while(1){if((ua|0)==0){oa=va;qa=0;break a}ua=ua+ -1|0;qa=na+1|0;pa=(d[na>>0]<<va)+pa|0;va=va+8|0;if(va>>>0<sa>>>0){na=qa}else{na=qa;break}}}c[L>>2]=oa+1;b[j+(oa<<1)+112>>1]=ta;va=va-sa|0;pa=pa>>>sa}else{if(ta<<16>>16==16){ta=sa+2|0;if(va>>>0<ta>>>0){wa=na;while(1){if((ua|0)==0){oa=va;qa=0;na=wa;break a}ua=ua+ -1|0;na=wa+1|0;pa=(d[wa>>0]<<va)+pa|0;va=va+8|0;if(va>>>0<ta>>>0){wa=na}else{break}}}pa=pa>>>sa;sa=va-sa|0;if((oa|0)==0){la=181;break d}va=sa+ -2|0;sa=(pa&3)+3|0;pa=pa>>>2;ta=b[j+(oa+ -1<<1)+112>>1]|0}else if(ta<<16>>16==17){ta=sa+3|0;if(va>>>0<ta>>>0){wa=na;while(1){if((ua|0)==0){oa=va;qa=0;na=wa;break a}ua=ua+ -1|0;na=wa+1|0;pa=(d[wa>>0]<<va)+pa|0;va=va+8|0;if(va>>>0<ta>>>0){wa=na}else{break}}}pa=pa>>>sa;va=-3-sa+va|0;sa=(pa&7)+3|0;pa=pa>>>3;ta=0}else{ta=sa+7|0;if(va>>>0<ta>>>0){wa=na;while(1){if((ua|0)==0){oa=va;qa=0;na=wa;break a}ua=ua+ -1|0;na=wa+1|0;pa=(d[wa>>0]<<va)+pa|0;va=va+8|0;if(va>>>0<ta>>>0){wa=na}else{break}}}pa=pa>>>sa;va=-7-sa+va|0;sa=(pa&127)+11|0;pa=pa>>>7;ta=0}if((oa+sa|0)>>>0>(qa+ra|0)>>>0){la=190;break d}while(1){sa=sa+ -1|0;c[L>>2]=oa+1;b[j+(oa<<1)+112>>1]=ta;if((sa|0)==0){break e}oa=c[L>>2]|0}}}while(0);oa=c[L>>2]|0;ra=c[M>>2]|0;qa=c[N>>2]|0;if(!(oa>>>0<(qa+ra|0)>>>0)){la=193;break}}if((la|0)==181){la=0;c[K>>2]=11688;c[j>>2]=29;oa=sa;qa=ua;ra=F;break c}else if((la|0)==190){la=0;c[K>>2]=11688;c[j>>2]=29;oa=va;qa=ua;ra=F;break c}else if((la|0)==193){la=0;if((c[j>>2]|0)==29){oa=va;qa=ua;ra=F;break c}else{oa=va;qa=ua;break}}}else{oa=va;qa=ua}}while(0);if((b[fa>>1]|0)==0){c[K>>2]=11720;c[j>>2]=29;ra=F;break}c[ca>>2]=ba;c[Z>>2]=ba;c[_>>2]=9;ma=sb(1,da,ra,ca,_,ea)|0;if((ma|0)!=0){c[K>>2]=11760;c[j>>2]=29;ra=F;break}c[$>>2]=c[ca>>2];c[aa>>2]=6;ma=sb(2,j+(c[M>>2]<<1)+112|0,c[N>>2]|0,ca,aa,ea)|0;if((ma|0)==0){c[j>>2]=19;if(S){ma=0;la=285;break a}else{ma=0;la=201;break}}else{c[K>>2]=11792;c[j>>2]=29;ra=F;break}}}while(0);if((la|0)==57){la=c[P>>2]|0;if((la|0)!=0){c[la+8>>2]=pa&255;c[la+12>>2]=pa>>>8}if((c[q>>2]&512|0)!=0){a[D>>0]=pa;a[Q>>0]=pa>>>8;c[p>>2]=nb(c[p>>2]|0,D,2)|0}c[j>>2]=4;oa=0;pa=0;la=62}else if((la|0)==201){c[j>>2]=20;la=202}do{if((la|0)==62){la=0;ra=c[q>>2]|0;if((ra&1024|0)==0){la=c[P>>2]|0;if((la|0)!=0){c[la+16>>2]=0}}else{if(oa>>>0<16){while(1){if((qa|0)==0){qa=0;break a}qa=qa+ -1|0;sa=na+1|0;pa=(d[na>>0]<<oa)+pa|0;oa=oa+8|0;if(oa>>>0<16){na=sa}else{na=sa;break}}}c[R>>2]=pa;la=c[P>>2]|0;if((la|0)!=0){c[la+20>>2]=pa;ra=c[q>>2]|0}if((ra&512|0)==0){oa=0;pa=0}else{a[D>>0]=pa;a[Q>>0]=pa>>>8;c[p>>2]=nb(c[p>>2]|0,D,2)|0;oa=0;pa=0}}c[j>>2]=5;la=73}else if((la|0)==202){la=0;if(qa>>>0>5&F>>>0>257){c[n>>2]=y;c[u>>2]=F;c[f>>2]=na;c[v>>2]=qa;c[w>>2]=pa;c[k>>2]=oa;tb(f,ka);y=c[n>>2]|0;ra=c[u>>2]|0;na=c[f>>2]|0;qa=c[v>>2]|0;pa=c[w>>2]|0;oa=c[k>>2]|0;if((c[j>>2]|0)!=11){break}c[H>>2]=-1;break}c[H>>2]=0;ua=(1<<c[_>>2])+ -1|0;ta=ua&pa;ra=c[Z>>2]|0;va=a[ra+(ta<<2)+1>>0]|0;sa=va&255;if(sa>>>0>oa>>>0){while(1){if((qa|0)==0){qa=0;break a}qa=qa+ -1|0;va=na+1|0;pa=(d[na>>0]<<oa)+pa|0;oa=oa+8|0;ta=ua&pa;na=a[ra+(ta<<2)+1>>0]|0;sa=na&255;if(sa>>>0>oa>>>0){na=va}else{ua=na;na=va;break}}}else{ua=va}wa=a[ra+(ta<<2)>>0]|0;va=b[ra+(ta<<2)+2>>1]|0;xa=wa&255;if(!(wa<<24>>24==0)){if((xa&240|0)==0){ta=va&65535;ua=(1<<sa+xa)+ -1|0;wa=((pa&ua)>>>sa)+ta|0;va=a[ra+(wa<<2)+1>>0]|0;if(((va&255)+sa|0)>>>0>oa>>>0){while(1){if((qa|0)==0){qa=0;break a}qa=qa+ -1|0;va=na+1|0;pa=(d[na>>0]<<oa)+pa|0;oa=oa+8|0;wa=((pa&ua)>>>sa)+ta|0;na=a[ra+(wa<<2)+1>>0]|0;if(((na&255)+sa|0)>>>0>oa>>>0){na=va}else{ta=wa;ua=na;na=va;break}}}else{ta=wa;ua=va}va=b[ra+(ta<<2)+2>>1]|0;ta=a[ra+(ta<<2)>>0]|0;c[H>>2]=sa;ra=sa;oa=oa-sa|0;pa=pa>>>sa}else{ra=0;ta=wa}}else{ra=0;ta=0}xa=ua&255;pa=pa>>>xa;oa=oa-xa|0;c[H>>2]=ra+xa;c[R>>2]=va&65535;ra=ta&255;if(ta<<24>>24==0){c[j>>2]=25;ra=F;break}if((ra&32|0)!=0){c[H>>2]=-1;c[j>>2]=11;ra=F;break}if((ra&64|0)==0){ra=ra&15;c[J>>2]=ra;c[j>>2]=21;la=221;break}else{c[K>>2]=11816;c[j>>2]=29;ra=F;break}}}while(0);if((la|0)==73){ta=c[q>>2]|0;if((ta&1024|0)!=0){sa=c[R>>2]|0;la=sa>>>0>qa>>>0?qa:sa;if((la|0)!=0){ra=c[P>>2]|0;if((ra|0)!=0?(B=c[ra+16>>2]|0,(B|0)!=0):0){sa=(c[ra+20>>2]|0)-sa|0;ra=c[ra+24>>2]|0;Bb(B+sa|0,na|0,((sa+la|0)>>>0>ra>>>0?ra-sa|0:la)|0)|0;ta=c[q>>2]|0}if((ta&512|0)!=0){c[p>>2]=nb(c[p>>2]|0,na,la)|0}sa=(c[R>>2]|0)-la|0;c[R>>2]=sa;qa=qa-la|0;na=na+la|0}if((sa|0)!=0){la=285;break}}c[R>>2]=0;c[j>>2]=6;la=83}else if((la|0)==221){la=0;if((ra|0)==0){la=c[R>>2]|0}else{if(oa>>>0<ra>>>0){sa=na;while(1){if((qa|0)==0){qa=0;na=sa;break a}qa=qa+ -1|0;na=sa+1|0;pa=(d[sa>>0]<<oa)+pa|0;oa=oa+8|0;if(oa>>>0<ra>>>0){sa=na}else{break}}}la=(c[R>>2]|0)+((1<<ra)+ -1&pa)|0;c[R>>2]=la;c[H>>2]=(c[H>>2]|0)+ra;oa=oa-ra|0;pa=pa>>>ra}c[ga>>2]=la;c[j>>2]=22;la=228}do{if((la|0)==83){if((c[q>>2]&2048|0)==0){la=c[P>>2]|0;if((la|0)!=0){c[la+28>>2]=0}}else{if((qa|0)==0){qa=0;la=285;break a}else{la=0}do{sa=la;la=la+1|0;sa=a[na+sa>>0]|0;ra=c[P>>2]|0;if(((ra|0)!=0?(E=c[ra+28>>2]|0,(E|0)!=0):0)?(A=c[R>>2]|0,A>>>0<(c[ra+32>>2]|0)>>>0):0){c[R>>2]=A+1;a[E+A>>0]=sa}ra=sa<<24>>24!=0}while(ra&la>>>0<qa>>>0);if((c[q>>2]&512|0)!=0){c[p>>2]=nb(c[p>>2]|0,na,la)|0}qa=qa-la|0;na=na+la|0;if(ra){la=285;break a}}c[R>>2]=0;c[j>>2]=7;la=96}else if((la|0)==228){la=0;ua=(1<<c[aa>>2])+ -1|0;ta=ua&pa;ra=c[$>>2]|0;va=a[ra+(ta<<2)+1>>0]|0;sa=va&255;if(sa>>>0>oa>>>0){while(1){if((qa|0)==0){qa=0;break a}qa=qa+ -1|0;va=na+1|0;pa=(d[na>>0]<<oa)+pa|0;oa=oa+8|0;ta=ua&pa;na=a[ra+(ta<<2)+1>>0]|0;sa=na&255;if(sa>>>0>oa>>>0){na=va}else{ua=na;na=va;break}}}else{ua=va}wa=a[ra+(ta<<2)>>0]|0;va=b[ra+(ta<<2)+2>>1]|0;xa=wa&255;if((xa&240|0)==0){ta=va&65535;ua=(1<<sa+xa)+ -1|0;wa=((pa&ua)>>>sa)+ta|0;va=a[ra+(wa<<2)+1>>0]|0;if(((va&255)+sa|0)>>>0>oa>>>0){while(1){if((qa|0)==0){qa=0;break a}qa=qa+ -1|0;va=na+1|0;pa=(d[na>>0]<<oa)+pa|0;oa=oa+8|0;wa=((pa&ua)>>>sa)+ta|0;na=a[ra+(wa<<2)+1>>0]|0;if(((na&255)+sa|0)>>>0>oa>>>0){na=va}else{ta=wa;ua=na;na=va;break}}}else{ta=wa;ua=va}va=b[ra+(ta<<2)+2>>1]|0;ta=a[ra+(ta<<2)>>0]|0;ra=(c[H>>2]|0)+sa|0;c[H>>2]=ra;oa=oa-sa|0;pa=pa>>>sa}else{ra=c[H>>2]|0;ta=wa}xa=ua&255;pa=pa>>>xa;oa=oa-xa|0;c[H>>2]=ra+xa;ra=ta&255;if((ra&64|0)==0){c[I>>2]=va&65535;ra=ra&15;c[J>>2]=ra;c[j>>2]=23;la=240;break}else{c[K>>2]=11848;c[j>>2]=29;ra=F;break}}}while(0);if((la|0)==96){if((c[q>>2]&4096|0)==0){la=c[P>>2]|0;if((la|0)!=0){c[la+36>>2]=0}}else{if((qa|0)==0){qa=0;la=285;break}else{la=0}do{ra=la;la=la+1|0;ra=a[na+ra>>0]|0;sa=c[P>>2]|0;if(((sa|0)!=0?(C=c[sa+36>>2]|0,(C|0)!=0):0)?(z=c[R>>2]|0,z>>>0<(c[sa+40>>2]|0)>>>0):0){c[R>>2]=z+1;a[C+z>>0]=ra}ra=ra<<24>>24!=0}while(ra&la>>>0<qa>>>0);if((c[q>>2]&512|0)!=0){c[p>>2]=nb(c[p>>2]|0,na,la)|0}qa=qa-la|0;na=na+la|0;if(ra){la=285;break}}c[j>>2]=8;la=109}else if((la|0)==240){la=0;if((ra|0)!=0){if(oa>>>0<ra>>>0){while(1){if((qa|0)==0){qa=0;break a}qa=qa+ -1|0;sa=na+1|0;pa=(d[na>>0]<<oa)+pa|0;oa=oa+8|0;if(oa>>>0<ra>>>0){na=sa}else{na=sa;break}}}c[I>>2]=(c[I>>2]|0)+((1<<ra)+ -1&pa);c[H>>2]=(c[H>>2]|0)+ra;oa=oa-ra|0;pa=pa>>>ra}c[j>>2]=24;la=246}do{if((la|0)==109){la=0;ra=c[q>>2]|0;if((ra&512|0)!=0){if(oa>>>0<16){sa=na;while(1){if((qa|0)==0){qa=0;na=sa;break a}qa=qa+ -1|0;na=sa+1|0;pa=(d[sa>>0]<<oa)+pa|0;oa=oa+8|0;if(oa>>>0<16){sa=na}else{break}}}if((pa|0)==(c[p>>2]&65535|0)){oa=0;pa=0}else{c[K>>2]=11536;c[j>>2]=29;ra=F;break}}sa=c[P>>2]|0;if((sa|0)!=0){c[sa+44>>2]=ra>>>9&1;c[sa+48>>2]=1}ra=nb(0,0,0)|0;c[p>>2]=ra;c[o>>2]=ra;c[j>>2]=11;ra=F}else if((la|0)==246){la=0;if((F|0)==0){F=0;la=285;break a}sa=ka-F|0;ra=c[I>>2]|0;if(ra>>>0>sa>>>0){sa=ra-sa|0;if(sa>>>0>(c[G>>2]|0)>>>0?(c[ja>>2]|0)!=0:0){c[K>>2]=11872;c[j>>2]=29;ra=F;break}ta=c[ia>>2]|0;if(sa>>>0>ta>>>0){sa=sa-ta|0;ra=sa;sa=(c[ha>>2]|0)+((c[x>>2]|0)-sa)|0}else{ra=sa;sa=(c[ha>>2]|0)+(ta-sa)|0}ua=c[R>>2]|0;ta=ua;ua=ra>>>0>ua>>>0?ua:ra}else{ua=c[R>>2]|0;ta=ua;sa=y+(0-ra)|0}ra=ua>>>0>F>>>0?F:ua;c[R>>2]=ta-ra;ta=~F;ua=~ua;ta=ta>>>0>ua>>>0?ta:ua;ua=ra;va=y;while(1){a[va>>0]=a[sa>>0]|0;ua=ua+ -1|0;if((ua|0)==0){break}else{sa=sa+1|0;va=va+1|0}}ra=F-ra|0;y=y+~ta|0;if((c[R>>2]|0)==0){c[j>>2]=20}}}while(0);sa=c[j>>2]|0;va=oa;F=ra}if((la|0)==122){c[n>>2]=y;c[u>>2]=F;c[f>>2]=na;c[v>>2]=qa;c[w>>2]=pa;c[k>>2]=oa;xa=2;i=h;return xa|0}else if((la|0)==133){oa=oa+ -3|0;pa=pa>>>3}else if((la|0)==284){c[j>>2]=28;ma=1}else if((la|0)!=285)if((la|0)==299){xa=-4;i=h;return xa|0}else if((la|0)==300){i=h;return f|0}c[n>>2]=y;c[u>>2]=F;c[f>>2]=na;c[v>>2]=qa;c[w>>2]=pa;c[k>>2]=oa;if((c[x>>2]|0)==0){if((c[j>>2]|0)>>>0<26?(ka|0)!=(c[u>>2]|0):0){la=289}}else{la=289}if((la|0)==289?(qb(f,ka)|0)!=0:0){c[j>>2]=30;xa=-4;i=h;return xa|0}v=c[v>>2]|0;xa=c[u>>2]|0;u=ka-xa|0;wa=f+8|0;c[wa>>2]=l-v+(c[wa>>2]|0);c[s>>2]=(c[s>>2]|0)+u;c[t>>2]=(c[t>>2]|0)+u;s=(ka|0)==(xa|0);if(!((c[r>>2]|0)==0|s)){r=c[p>>2]|0;n=(c[n>>2]|0)+(0-u)|0;if((c[q>>2]|0)==0){n=mb(r,n,u)|0}else{n=nb(r,n,u)|0}c[p>>2]=n;c[o>>2]=n}j=c[j>>2]|0;if((j|0)==19){n=256}else{n=(j|0)==14?256:0}c[f+44>>2]=((c[m>>2]|0)!=0?64:0)+(c[k>>2]|0)+((j|0)==11?128:0)+n;xa=((l|0)==(v|0)&s|(g|0)==4)&(ma|0)==0?-5:ma;i=h;return xa|0}function qb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;e=c[a+28>>2]|0;f=e+52|0;j=c[f>>2]|0;if((j|0)==0){j=Da[c[a+32>>2]&1](c[a+40>>2]|0,1<<c[e+36>>2],1)|0;c[f>>2]=j;if((j|0)==0){l=1;i=d;return l|0}}g=e+40|0;l=c[g>>2]|0;if((l|0)==0){l=1<<c[e+36>>2];c[g>>2]=l;c[e+48>>2]=0;c[e+44>>2]=0}b=b-(c[a+16>>2]|0)|0;if(!(b>>>0<l>>>0)){Bb(j|0,(c[a+12>>2]|0)+(0-l)|0,l|0)|0;c[e+48>>2]=0;c[e+44>>2]=c[g>>2];l=0;i=d;return l|0}h=e+48|0;k=c[h>>2]|0;l=l-k|0;l=l>>>0>b>>>0?b:l;a=a+12|0;Bb(j+k|0,(c[a>>2]|0)+(0-b)|0,l|0)|0;j=b-l|0;if((b|0)!=(l|0)){Bb(c[f>>2]|0,(c[a>>2]|0)+(0-j)|0,j|0)|0;c[h>>2]=j;c[e+44>>2]=c[g>>2];l=0;i=d;return l|0}a=(c[h>>2]|0)+b|0;f=c[g>>2]|0;c[h>>2]=(a|0)==(f|0)?0:a;g=e+44|0;e=c[g>>2]|0;if(!(e>>>0<f>>>0)){l=0;i=d;return l|0}c[g>>2]=e+b;l=0;i=d;return l|0}function rb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;if((a|0)==0){h=-2;i=b;return h|0}d=a+28|0;e=c[d>>2]|0;if((e|0)==0){h=-2;i=b;return h|0}g=a+36|0;f=c[g>>2]|0;if((f|0)==0){h=-2;i=b;return h|0}h=c[e+52>>2]|0;a=a+40|0;if((h|0)!=0){Ea[f&1](c[a>>2]|0,h);f=c[g>>2]|0;e=c[d>>2]|0}Ea[f&1](c[a>>2]|0,e);c[d>>2]=0;h=0;i=b;return h|0}function sb(d,f,g,h,j,k){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;l=i;i=i+64|0;n=l+32|0;r=l;m=n+0|0;q=m+32|0;do{b[m>>1]=0;m=m+2|0}while((m|0)<(q|0));s=(g|0)==0;if(!s){m=0;do{J=n+(e[f+(m<<1)>>1]<<1)|0;b[J>>1]=(b[J>>1]|0)+1<<16>>16;m=m+1|0}while((m|0)!=(g|0))}t=c[j>>2]|0;q=15;while(1){m=q+ -1|0;if((b[n+(q<<1)>>1]|0)!=0){break}if((m|0)==0){p=7;break}else{q=m}}if((p|0)==7){J=c[h>>2]|0;c[h>>2]=J+4;a[J>>0]=64;a[J+1>>0]=1;b[J+2>>1]=0;J=c[h>>2]|0;c[h>>2]=J+4;a[J>>0]=64;a[J+1>>0]=1;b[J+2>>1]=0;c[j>>2]=1;J=0;i=l;return J|0}m=t>>>0>q>>>0?q:t;a:do{if(q>>>0>1){E=1;while(1){t=E+1|0;if((b[n+(E<<1)>>1]|0)!=0){break a}if(t>>>0<q>>>0){E=t}else{E=t;break}}}else{E=1}}while(0);m=m>>>0<E>>>0?E:m;t=1;u=1;do{t=(t<<1)-(e[n+(u<<1)>>1]|0)|0;u=u+1|0;if((t|0)<0){o=-1;p=56;break}}while(u>>>0<16);if((p|0)==56){i=l;return o|0}if((t|0)>0?!((d|0)!=0&(q|0)==1):0){J=-1;i=l;return J|0}b[r+2>>1]=0;t=0;u=1;do{t=(e[n+(u<<1)>>1]|0)+(t&65535)|0;u=u+1|0;b[r+(u<<1)>>1]=t}while((u|0)!=15);if(!s){t=0;do{s=b[f+(t<<1)>>1]|0;if(!(s<<16>>16==0)){I=r+((s&65535)<<1)|0;J=b[I>>1]|0;b[I>>1]=J+1<<16>>16;b[k+((J&65535)<<1)>>1]=t}t=t+1|0}while((t|0)!=(g|0))}if((d|0)==0){v=k;u=0;y=0;x=19;w=k;s=1<<m}else if((d|0)==1){s=1<<m;if(s>>>0>851){J=1;i=l;return J|0}else{v=14128+ -514|0;u=1;y=0;x=256;w=14192+ -514|0}}else{s=1<<m;y=(d|0)==2;if(y&s>>>0>591){J=1;i=l;return J|0}else{v=14256;u=0;x=-1;w=14320}}d=s+ -1|0;r=m&255;B=m;z=0;D=0;g=-1;t=c[h>>2]|0;A=0;b:while(1){C=1<<B;while(1){H=E-z|0;B=H&255;G=b[k+(A<<1)>>1]|0;I=G&65535;if((I|0)>=(x|0)){if((I|0)>(x|0)){F=b[w+(I<<1)>>1]&255;G=b[v+(I<<1)>>1]|0}else{F=96;G=0}}else{F=0}H=1<<H;I=D>>>z;J=C;do{K=J;J=J-H|0;L=J+I|0;a[t+(L<<2)>>0]=F;a[t+(L<<2)+1>>0]=B;b[t+(L<<2)+2>>1]=G}while((K|0)!=(H|0));F=1<<E+ -1;while(1){if((F&D|0)==0){break}else{F=F>>>1}}if((F|0)==0){D=0}else{D=(F+ -1&D)+F|0}A=A+1|0;K=n+(E<<1)|0;L=(b[K>>1]|0)+ -1<<16>>16;b[K>>1]=L;if(L<<16>>16==0){if((E|0)==(q|0)){break b}E=e[f+(e[k+(A<<1)>>1]<<1)>>1]|0}if(!(E>>>0>m>>>0)){continue}F=D&d;if((F|0)!=(g|0)){break}}G=(z|0)==0?m:z;C=t+(C<<2)|0;J=E-G|0;c:do{if(E>>>0<q>>>0){H=E;I=J;J=1<<J;while(1){J=J-(e[n+(H<<1)>>1]|0)|0;if((J|0)<1){break c}I=I+1|0;H=I+G|0;if(H>>>0<q>>>0){J=J<<1}else{break}}}else{I=J}}while(0);H=(1<<I)+s|0;if(u&H>>>0>851|y&H>>>0>591){o=1;p=56;break}a[(c[h>>2]|0)+(F<<2)>>0]=I;a[(c[h>>2]|0)+(F<<2)+1>>0]=r;B=c[h>>2]|0;b[B+(F<<2)+2>>1]=(C-B|0)>>>2;B=I;z=G;g=F;t=C;s=H}if((p|0)==56){i=l;return o|0}d:do{if((D|0)!=0){do{if((z|0)!=0){if((D&d|0)!=(g|0)){z=0;B=r;q=m;t=c[h>>2]|0}}else{z=0}k=D>>>z;a[t+(k<<2)>>0]=64;a[t+(k<<2)+1>>0]=B;b[t+(k<<2)+2>>1]=0;k=1<<q+ -1;while(1){if((k&D|0)==0){break}else{k=k>>>1}}if((k|0)==0){break d}D=(k+ -1&D)+k|0}while((D|0)!=0)}}while(0);c[h>>2]=(c[h>>2]|0)+(s<<2);c[j>>2]=m;L=0;i=l;return L|0}function tb(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;g=i;u=c[e+28>>2]|0;H=c[e>>2]|0;l=e+4|0;o=H+((c[l>>2]|0)+ -6)|0;n=e+12|0;G=c[n>>2]|0;k=e+16|0;C=c[k>>2]|0;m=G+(C+ -258)|0;r=c[u+44>>2]|0;s=c[u+48>>2]|0;q=c[u+52>>2]|0;j=u+56|0;h=u+60|0;w=c[u+76>>2]|0;t=c[u+80>>2]|0;x=(1<<c[u+84>>2])+ -1|0;v=(1<<c[u+88>>2])+ -1|0;C=G+(C+~f)|0;E=u+7104|0;y=q+ -1|0;f=(s|0)==0;B=(c[u+40>>2]|0)+ -1|0;D=B+s|0;z=s+ -1|0;A=C+ -1|0;F=C-s|0;J=c[h>>2]|0;I=c[j>>2]|0;H=H+ -1|0;G=G+ -1|0;a:do{if(J>>>0<15){P=H+2|0;L=J+16|0;I=((d[H+1>>0]|0)<<J)+I+((d[P>>0]|0)<<J+8)|0;H=P}else{L=J}J=I&x;M=a[w+(J<<2)>>0]|0;K=b[w+(J<<2)+2>>1]|0;J=d[w+(J<<2)+1>>0]|0;I=I>>>J;J=L-J|0;do{if(!(M<<24>>24==0)){L=M&255;while(1){if((L&16|0)!=0){break}if((L&64|0)!=0){p=55;break a}P=(I&(1<<L)+ -1)+(K&65535)|0;L=a[w+(P<<2)>>0]|0;K=b[w+(P<<2)+2>>1]|0;P=d[w+(P<<2)+1>>0]|0;I=I>>>P;J=J-P|0;if(L<<24>>24==0){p=6;break}else{L=L&255}}if((p|0)==6){K=K&255;p=7;break}K=K&65535;L=L&15;if((L|0)!=0){if(J>>>0<L>>>0){H=H+1|0;N=J+8|0;M=((d[H>>0]|0)<<J)+I|0}else{N=J;M=I}J=N-L|0;I=M>>>L;K=(M&(1<<L)+ -1)+K|0}if(J>>>0<15){P=H+2|0;M=J+16|0;I=((d[H+1>>0]|0)<<J)+I+((d[P>>0]|0)<<J+8)|0;H=P}else{M=J}P=I&v;L=b[t+(P<<2)+2>>1]|0;J=d[t+(P<<2)+1>>0]|0;I=I>>>J;J=M-J|0;M=d[t+(P<<2)>>0]|0;if((M&16|0)==0){do{if((M&64|0)!=0){p=52;break a}M=(I&(1<<M)+ -1)+(L&65535)|0;L=b[t+(M<<2)+2>>1]|0;P=d[t+(M<<2)+1>>0]|0;I=I>>>P;J=J-P|0;M=d[t+(M<<2)>>0]|0}while((M&16|0)==0)}L=L&65535;M=M&15;if(J>>>0<M>>>0){N=H+1|0;I=((d[N>>0]|0)<<J)+I|0;O=J+8|0;if(O>>>0<M>>>0){H=H+2|0;J=J+16|0;I=((d[H>>0]|0)<<O)+I|0}else{J=O;H=N}}L=(I&(1<<M)+ -1)+L|0;I=I>>>M;J=J-M|0;N=G;M=N-C|0;if(!(L>>>0>M>>>0)){L=G+(0-L)|0;while(1){a[G+1>>0]=a[L+1>>0]|0;a[G+2>>0]=a[L+2>>0]|0;N=L+3|0;M=G+3|0;a[M>>0]=a[N>>0]|0;K=K+ -3|0;if(!(K>>>0>2)){break}else{L=N;G=M}}if((K|0)==0){G=M;break}M=G+4|0;a[M>>0]=a[L+4>>0]|0;if(!(K>>>0>1)){G=M;break}G=G+5|0;a[G>>0]=a[L+5>>0]|0;break}M=L-M|0;if(M>>>0>r>>>0?(c[E>>2]|0)!=0:0){p=22;break a}do{if(f){O=q+(B-M)|0;if(M>>>0<K>>>0){K=K-M|0;N=L-N|0;P=G;do{O=O+1|0;P=P+1|0;a[P>>0]=a[O>>0]|0;M=M+ -1|0}while((M|0)!=0);L=G+(A+N+(1-L))|0;G=G+(C+N)|0}else{L=O}}else{if(!(s>>>0<M>>>0)){O=q+(z-M)|0;if(!(M>>>0<K>>>0)){L=O;break}K=K-M|0;N=L-N|0;P=G;do{O=O+1|0;P=P+1|0;a[P>>0]=a[O>>0]|0;M=M+ -1|0}while((M|0)!=0);L=G+(A+N+(1-L))|0;G=G+(C+N)|0;break}O=q+(D-M)|0;P=M-s|0;if(P>>>0<K>>>0){K=K-P|0;M=L-N|0;N=G;do{O=O+1|0;N=N+1|0;a[N>>0]=a[O>>0]|0;P=P+ -1|0}while((P|0)!=0);N=G+(F+M)|0;if(s>>>0<K>>>0){K=K-s|0;P=y;O=s;do{P=P+1|0;N=N+1|0;a[N>>0]=a[P>>0]|0;O=O+ -1|0}while((O|0)!=0);L=G+(A+M+(1-L))|0;G=G+(C+M)|0}else{L=y;G=N}}else{L=O}}}while(0);if(K>>>0>2){do{a[G+1>>0]=a[L+1>>0]|0;a[G+2>>0]=a[L+2>>0]|0;L=L+3|0;G=G+3|0;a[G>>0]=a[L>>0]|0;K=K+ -3|0}while(K>>>0>2)}if((K|0)!=0){M=G+1|0;a[M>>0]=a[L+1>>0]|0;if(K>>>0>1){G=G+2|0;a[G>>0]=a[L+2>>0]|0}else{G=M}}}else{K=K&255;p=7}}while(0);if((p|0)==7){p=0;G=G+1|0;a[G>>0]=K}}while(H>>>0<o>>>0&G>>>0<m>>>0);do{if((p|0)==22){c[e+24>>2]=14384;c[u>>2]=29}else if((p|0)==52){c[e+24>>2]=14416;c[u>>2]=29}else if((p|0)==55){if((L&32|0)==0){c[e+24>>2]=14440;c[u>>2]=29;break}else{c[u>>2]=11;break}}}while(0);P=J>>>3;q=H+(0-P)|0;p=J-(P<<3)|0;r=(1<<p)+ -1&I;c[e>>2]=H+(1-P);c[n>>2]=G+1;if(q>>>0<o>>>0){e=o-q|0}else{e=o-q|0}c[l>>2]=e+5;if(G>>>0<m>>>0){P=m-G|0;P=P+257|0;c[k>>2]=P;c[j>>2]=r;c[h>>2]=p;i=g;return}else{P=m-G|0;P=P+257|0;c[k>>2]=P;c[j>>2]=r;c[h>>2]=p;i=g;return}} function ub(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;b=i;do{if(a>>>0<245){if(a>>>0<11){a=16}else{a=a+11&-8}v=a>>>3;r=c[3618]|0;w=r>>>v;if((w&3|0)!=0){j=(w&1^1)+v|0;h=j<<1;f=14512+(h<<2)|0;h=14512+(h+2<<2)|0;d=c[h>>2]|0;e=d+8|0;g=c[e>>2]|0;do{if((f|0)!=(g|0)){if(g>>>0<(c[14488>>2]|0)>>>0){wa()}k=g+12|0;if((c[k>>2]|0)==(d|0)){c[k>>2]=f;c[h>>2]=g;break}else{wa()}}else{c[3618]=r&~(1<<j)}}while(0);H=j<<3;c[d+4>>2]=H|3;H=d+(H|4)|0;c[H>>2]=c[H>>2]|1;H=e;i=b;return H|0}if(a>>>0>(c[14480>>2]|0)>>>0){if((w|0)!=0){f=2<<v;f=w<<v&(f|0-f);f=(f&0-f)+ -1|0;d=f>>>12&16;f=f>>>d;e=f>>>5&8;f=f>>>e;g=f>>>2&4;f=f>>>g;j=f>>>1&2;f=f>>>j;h=f>>>1&1;h=(e|d|g|j|h)+(f>>>h)|0;f=h<<1;j=14512+(f<<2)|0;f=14512+(f+2<<2)|0;g=c[f>>2]|0;d=g+8|0;e=c[d>>2]|0;do{if((j|0)!=(e|0)){if(e>>>0<(c[14488>>2]|0)>>>0){wa()}k=e+12|0;if((c[k>>2]|0)==(g|0)){c[k>>2]=j;c[f>>2]=e;break}else{wa()}}else{c[3618]=r&~(1<<h)}}while(0);h=h<<3;f=h-a|0;c[g+4>>2]=a|3;e=g+a|0;c[g+(a|4)>>2]=f|1;c[g+h>>2]=f;h=c[14480>>2]|0;if((h|0)!=0){g=c[14492>>2]|0;l=h>>>3;j=l<<1;h=14512+(j<<2)|0;k=c[3618]|0;l=1<<l;if((k&l|0)!=0){j=14512+(j+2<<2)|0;k=c[j>>2]|0;if(k>>>0<(c[14488>>2]|0)>>>0){wa()}else{D=j;C=k}}else{c[3618]=k|l;D=14512+(j+2<<2)|0;C=h}c[D>>2]=g;c[C+12>>2]=g;c[g+8>>2]=C;c[g+12>>2]=h}c[14480>>2]=f;c[14492>>2]=e;H=d;i=b;return H|0}r=c[14476>>2]|0;if((r|0)!=0){d=(r&0-r)+ -1|0;G=d>>>12&16;d=d>>>G;F=d>>>5&8;d=d>>>F;H=d>>>2&4;d=d>>>H;h=d>>>1&2;d=d>>>h;e=d>>>1&1;e=c[14776+((F|G|H|h|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-a|0;h=e;while(1){g=c[h+16>>2]|0;if((g|0)==0){g=c[h+20>>2]|0;if((g|0)==0){break}}h=(c[g+4>>2]&-8)-a|0;f=h>>>0<d>>>0;d=f?h:d;h=g;e=f?g:e}h=c[14488>>2]|0;if(e>>>0<h>>>0){wa()}f=e+a|0;if(!(e>>>0<f>>>0)){wa()}g=c[e+24>>2]|0;k=c[e+12>>2]|0;do{if((k|0)==(e|0)){k=e+20|0;j=c[k>>2]|0;if((j|0)==0){k=e+16|0;j=c[k>>2]|0;if((j|0)==0){B=0;break}}while(1){l=j+20|0;m=c[l>>2]|0;if((m|0)!=0){j=m;k=l;continue}l=j+16|0;m=c[l>>2]|0;if((m|0)==0){break}else{j=m;k=l}}if(k>>>0<h>>>0){wa()}else{c[k>>2]=0;B=j;break}}else{j=c[e+8>>2]|0;if(j>>>0<h>>>0){wa()}h=j+12|0;if((c[h>>2]|0)!=(e|0)){wa()}l=k+8|0;if((c[l>>2]|0)==(e|0)){c[h>>2]=k;c[l>>2]=j;B=k;break}else{wa()}}}while(0);do{if((g|0)!=0){j=c[e+28>>2]|0;h=14776+(j<<2)|0;if((e|0)==(c[h>>2]|0)){c[h>>2]=B;if((B|0)==0){c[14476>>2]=c[14476>>2]&~(1<<j);break}}else{if(g>>>0<(c[14488>>2]|0)>>>0){wa()}h=g+16|0;if((c[h>>2]|0)==(e|0)){c[h>>2]=B}else{c[g+20>>2]=B}if((B|0)==0){break}}if(B>>>0<(c[14488>>2]|0)>>>0){wa()}c[B+24>>2]=g;g=c[e+16>>2]|0;do{if((g|0)!=0){if(g>>>0<(c[14488>>2]|0)>>>0){wa()}else{c[B+16>>2]=g;c[g+24>>2]=B;break}}}while(0);g=c[e+20>>2]|0;if((g|0)!=0){if(g>>>0<(c[14488>>2]|0)>>>0){wa()}else{c[B+20>>2]=g;c[g+24>>2]=B;break}}}}while(0);if(d>>>0<16){H=d+a|0;c[e+4>>2]=H|3;H=e+(H+4)|0;c[H>>2]=c[H>>2]|1}else{c[e+4>>2]=a|3;c[e+(a|4)>>2]=d|1;c[e+(d+a)>>2]=d;h=c[14480>>2]|0;if((h|0)!=0){g=c[14492>>2]|0;j=h>>>3;k=j<<1;h=14512+(k<<2)|0;l=c[3618]|0;j=1<<j;if((l&j|0)!=0){k=14512+(k+2<<2)|0;j=c[k>>2]|0;if(j>>>0<(c[14488>>2]|0)>>>0){wa()}else{z=k;A=j}}else{c[3618]=l|j;z=14512+(k+2<<2)|0;A=h}c[z>>2]=g;c[A+12>>2]=g;c[g+8>>2]=A;c[g+12>>2]=h}c[14480>>2]=d;c[14492>>2]=f}H=e+8|0;i=b;return H|0}}}else{if(!(a>>>0>4294967231)){z=a+11|0;a=z&-8;B=c[14476>>2]|0;if((B|0)!=0){A=0-a|0;z=z>>>8;if((z|0)!=0){if(a>>>0>16777215){C=31}else{G=(z+1048320|0)>>>16&8;H=z<<G;F=(H+520192|0)>>>16&4;H=H<<F;C=(H+245760|0)>>>16&2;C=14-(F|G|C)+(H<<C>>>15)|0;C=a>>>(C+7|0)&1|C<<1}}else{C=0}F=c[14776+(C<<2)>>2]|0;a:do{if((F|0)==0){D=0;z=0}else{if((C|0)==31){z=0}else{z=25-(C>>>1)|0}D=0;E=a<<z;z=0;while(1){H=c[F+4>>2]&-8;G=H-a|0;if(G>>>0<A>>>0){if((H|0)==(a|0)){A=G;D=F;z=F;break a}else{A=G;z=F}}G=c[F+20>>2]|0;F=c[F+(E>>>31<<2)+16>>2]|0;D=(G|0)==0|(G|0)==(F|0)?D:G;if((F|0)==0){break}else{E=E<<1}}}}while(0);if((D|0)==0&(z|0)==0){H=2<<C;B=B&(H|0-H);if((B|0)==0){break}H=(B&0-B)+ -1|0;E=H>>>12&16;H=H>>>E;C=H>>>5&8;H=H>>>C;F=H>>>2&4;H=H>>>F;G=H>>>1&2;H=H>>>G;D=H>>>1&1;D=c[14776+((C|E|F|G|D)+(H>>>D)<<2)>>2]|0}if((D|0)!=0){while(1){C=(c[D+4>>2]&-8)-a|0;B=C>>>0<A>>>0;A=B?C:A;z=B?D:z;B=c[D+16>>2]|0;if((B|0)!=0){D=B;continue}D=c[D+20>>2]|0;if((D|0)==0){break}}}if((z|0)!=0?A>>>0<((c[14480>>2]|0)-a|0)>>>0:0){f=c[14488>>2]|0;if(z>>>0<f>>>0){wa()}d=z+a|0;if(!(z>>>0<d>>>0)){wa()}e=c[z+24>>2]|0;g=c[z+12>>2]|0;do{if((g|0)==(z|0)){h=z+20|0;g=c[h>>2]|0;if((g|0)==0){h=z+16|0;g=c[h>>2]|0;if((g|0)==0){x=0;break}}while(1){j=g+20|0;k=c[j>>2]|0;if((k|0)!=0){g=k;h=j;continue}j=g+16|0;k=c[j>>2]|0;if((k|0)==0){break}else{g=k;h=j}}if(h>>>0<f>>>0){wa()}else{c[h>>2]=0;x=g;break}}else{h=c[z+8>>2]|0;if(h>>>0<f>>>0){wa()}j=h+12|0;if((c[j>>2]|0)!=(z|0)){wa()}f=g+8|0;if((c[f>>2]|0)==(z|0)){c[j>>2]=g;c[f>>2]=h;x=g;break}else{wa()}}}while(0);do{if((e|0)!=0){g=c[z+28>>2]|0;f=14776+(g<<2)|0;if((z|0)==(c[f>>2]|0)){c[f>>2]=x;if((x|0)==0){c[14476>>2]=c[14476>>2]&~(1<<g);break}}else{if(e>>>0<(c[14488>>2]|0)>>>0){wa()}f=e+16|0;if((c[f>>2]|0)==(z|0)){c[f>>2]=x}else{c[e+20>>2]=x}if((x|0)==0){break}}if(x>>>0<(c[14488>>2]|0)>>>0){wa()}c[x+24>>2]=e;e=c[z+16>>2]|0;do{if((e|0)!=0){if(e>>>0<(c[14488>>2]|0)>>>0){wa()}else{c[x+16>>2]=e;c[e+24>>2]=x;break}}}while(0);e=c[z+20>>2]|0;if((e|0)!=0){if(e>>>0<(c[14488>>2]|0)>>>0){wa()}else{c[x+20>>2]=e;c[e+24>>2]=x;break}}}}while(0);b:do{if(!(A>>>0<16)){c[z+4>>2]=a|3;c[z+(a|4)>>2]=A|1;c[z+(A+a)>>2]=A;f=A>>>3;if(A>>>0<256){g=f<<1;e=14512+(g<<2)|0;h=c[3618]|0;f=1<<f;if((h&f|0)!=0){f=14512+(g+2<<2)|0;g=c[f>>2]|0;if(g>>>0<(c[14488>>2]|0)>>>0){wa()}else{w=f;v=g}}else{c[3618]=h|f;w=14512+(g+2<<2)|0;v=e}c[w>>2]=d;c[v+12>>2]=d;c[z+(a+8)>>2]=v;c[z+(a+12)>>2]=e;break}e=A>>>8;if((e|0)!=0){if(A>>>0>16777215){e=31}else{G=(e+1048320|0)>>>16&8;H=e<<G;F=(H+520192|0)>>>16&4;H=H<<F;e=(H+245760|0)>>>16&2;e=14-(F|G|e)+(H<<e>>>15)|0;e=A>>>(e+7|0)&1|e<<1}}else{e=0}f=14776+(e<<2)|0;c[z+(a+28)>>2]=e;c[z+(a+20)>>2]=0;c[z+(a+16)>>2]=0;h=c[14476>>2]|0;g=1<<e;if((h&g|0)==0){c[14476>>2]=h|g;c[f>>2]=d;c[z+(a+24)>>2]=f;c[z+(a+12)>>2]=d;c[z+(a+8)>>2]=d;break}f=c[f>>2]|0;if((e|0)==31){e=0}else{e=25-(e>>>1)|0}c:do{if((c[f+4>>2]&-8|0)!=(A|0)){e=A<<e;g=f;while(1){h=g+(e>>>31<<2)+16|0;f=c[h>>2]|0;if((f|0)==0){break}if((c[f+4>>2]&-8|0)==(A|0)){r=f;break c}else{e=e<<1;g=f}}if(h>>>0<(c[14488>>2]|0)>>>0){wa()}else{c[h>>2]=d;c[z+(a+24)>>2]=g;c[z+(a+12)>>2]=d;c[z+(a+8)>>2]=d;break b}}else{r=f}}while(0);f=r+8|0;e=c[f>>2]|0;g=c[14488>>2]|0;if(r>>>0<g>>>0){wa()}if(e>>>0<g>>>0){wa()}else{c[e+12>>2]=d;c[f>>2]=d;c[z+(a+8)>>2]=e;c[z+(a+12)>>2]=r;c[z+(a+24)>>2]=0;break}}else{H=A+a|0;c[z+4>>2]=H|3;H=z+(H+4)|0;c[H>>2]=c[H>>2]|1}}while(0);H=z+8|0;i=b;return H|0}}}else{a=-1}}}while(0);r=c[14480>>2]|0;if(!(a>>>0>r>>>0)){e=r-a|0;d=c[14492>>2]|0;if(e>>>0>15){c[14492>>2]=d+a;c[14480>>2]=e;c[d+(a+4)>>2]=e|1;c[d+r>>2]=e;c[d+4>>2]=a|3}else{c[14480>>2]=0;c[14492>>2]=0;c[d+4>>2]=r|3;H=d+(r+4)|0;c[H>>2]=c[H>>2]|1}H=d+8|0;i=b;return H|0}r=c[14484>>2]|0;if(a>>>0<r>>>0){G=r-a|0;c[14484>>2]=G;H=c[14496>>2]|0;c[14496>>2]=H+a;c[H+(a+4)>>2]=G|1;c[H+4>>2]=a|3;H=H+8|0;i=b;return H|0}do{if((c[3736]|0)==0){r=qa(30)|0;if((r+ -1&r|0)==0){c[14952>>2]=r;c[14948>>2]=r;c[14956>>2]=-1;c[14960>>2]=-1;c[14964>>2]=0;c[14916>>2]=0;c[3736]=(ya(0)|0)&-16^1431655768;break}else{wa()}}}while(0);w=a+48|0;A=c[14952>>2]|0;x=a+47|0;z=A+x|0;A=0-A|0;v=z&A;if(!(v>>>0>a>>>0)){H=0;i=b;return H|0}r=c[14912>>2]|0;if((r|0)!=0?(G=c[14904>>2]|0,H=G+v|0,H>>>0<=G>>>0|H>>>0>r>>>0):0){H=0;i=b;return H|0}d:do{if((c[14916>>2]&4|0)==0){B=c[14496>>2]|0;e:do{if((B|0)!=0){r=14920|0;while(1){C=c[r>>2]|0;if(!(C>>>0>B>>>0)?(y=r+4|0,(C+(c[y>>2]|0)|0)>>>0>B>>>0):0){break}r=c[r+8>>2]|0;if((r|0)==0){o=182;break e}}if((r|0)!=0){A=z-(c[14484>>2]|0)&A;if(A>>>0<2147483647){o=na(A|0)|0;B=(o|0)==((c[r>>2]|0)+(c[y>>2]|0)|0);y=o;z=A;r=B?o:-1;A=B?A:0;o=191}else{A=0}}else{o=182}}else{o=182}}while(0);do{if((o|0)==182){r=na(0)|0;if((r|0)!=(-1|0)){A=r;y=c[14948>>2]|0;z=y+ -1|0;if((z&A|0)==0){A=v}else{A=v-A+(z+A&0-y)|0}B=c[14904>>2]|0;z=B+A|0;if(A>>>0>a>>>0&A>>>0<2147483647){y=c[14912>>2]|0;if((y|0)!=0?z>>>0<=B>>>0|z>>>0>y>>>0:0){A=0;break}y=na(A|0)|0;o=(y|0)==(r|0);z=A;r=o?r:-1;A=o?A:0;o=191}else{A=0}}else{A=0}}}while(0);f:do{if((o|0)==191){o=0-z|0;if((r|0)!=(-1|0)){p=A;o=202;break d}do{if((y|0)!=(-1|0)&z>>>0<2147483647&z>>>0<w>>>0?(u=c[14952>>2]|0,u=x-z+u&0-u,u>>>0<2147483647):0){if((na(u|0)|0)==(-1|0)){na(o|0)|0;break f}else{z=u+z|0;break}}}while(0);if((y|0)!=(-1|0)){r=y;p=z;o=202;break d}}}while(0);c[14916>>2]=c[14916>>2]|4;o=199}else{A=0;o=199}}while(0);if((((o|0)==199?v>>>0<2147483647:0)?(s=na(v|0)|0,t=na(0)|0,(t|0)!=(-1|0)&(s|0)!=(-1|0)&s>>>0<t>>>0):0)?(p=t-s|0,q=p>>>0>(a+40|0)>>>0,q):0){r=s;p=q?p:A;o=202}if((o|0)==202){q=(c[14904>>2]|0)+p|0;c[14904>>2]=q;if(q>>>0>(c[14908>>2]|0)>>>0){c[14908>>2]=q}q=c[14496>>2]|0;g:do{if((q|0)!=0){v=14920|0;while(1){w=c[v>>2]|0;t=v+4|0;u=c[t>>2]|0;if((r|0)==(w+u|0)){o=214;break}s=c[v+8>>2]|0;if((s|0)==0){break}else{v=s}}if(((o|0)==214?(c[v+12>>2]&8|0)==0:0)?q>>>0>=w>>>0&q>>>0<r>>>0:0){c[t>>2]=u+p;d=(c[14484>>2]|0)+p|0;e=q+8|0;if((e&7|0)==0){e=0}else{e=0-e&7}H=d-e|0;c[14496>>2]=q+e;c[14484>>2]=H;c[q+(e+4)>>2]=H|1;c[q+(d+4)>>2]=40;c[14500>>2]=c[14960>>2];break}if(r>>>0<(c[14488>>2]|0)>>>0){c[14488>>2]=r}t=r+p|0;s=14920|0;while(1){if((c[s>>2]|0)==(t|0)){o=224;break}u=c[s+8>>2]|0;if((u|0)==0){break}else{s=u}}if((o|0)==224?(c[s+12>>2]&8|0)==0:0){c[s>>2]=r;h=s+4|0;c[h>>2]=(c[h>>2]|0)+p;h=r+8|0;if((h&7|0)==0){h=0}else{h=0-h&7}j=r+(p+8)|0;if((j&7|0)==0){n=0}else{n=0-j&7}o=r+(n+p)|0;j=h+a|0;k=r+j|0;m=o-(r+h)-a|0;c[r+(h+4)>>2]=a|3;h:do{if((o|0)!=(c[14496>>2]|0)){if((o|0)==(c[14492>>2]|0)){H=(c[14480>>2]|0)+m|0;c[14480>>2]=H;c[14492>>2]=k;c[r+(j+4)>>2]=H|1;c[r+(H+j)>>2]=H;break}q=p+4|0;t=c[r+(q+n)>>2]|0;if((t&3|0)==1){a=t&-8;s=t>>>3;do{if(!(t>>>0<256)){l=c[r+((n|24)+p)>>2]|0;v=c[r+(p+12+n)>>2]|0;do{if((v|0)==(o|0)){u=n|16;t=r+(q+u)|0;s=c[t>>2]|0;if((s|0)==0){t=r+(u+p)|0;s=c[t>>2]|0;if((s|0)==0){g=0;break}}while(1){v=s+20|0;u=c[v>>2]|0;if((u|0)!=0){s=u;t=v;continue}v=s+16|0;u=c[v>>2]|0;if((u|0)==0){break}else{s=u;t=v}}if(t>>>0<(c[14488>>2]|0)>>>0){wa()}else{c[t>>2]=0;g=s;break}}else{s=c[r+((n|8)+p)>>2]|0;if(s>>>0<(c[14488>>2]|0)>>>0){wa()}t=s+12|0;if((c[t>>2]|0)!=(o|0)){wa()}u=v+8|0;if((c[u>>2]|0)==(o|0)){c[t>>2]=v;c[u>>2]=s;g=v;break}else{wa()}}}while(0);if((l|0)!=0){s=c[r+(p+28+n)>>2]|0;t=14776+(s<<2)|0;if((o|0)==(c[t>>2]|0)){c[t>>2]=g;if((g|0)==0){c[14476>>2]=c[14476>>2]&~(1<<s);break}}else{if(l>>>0<(c[14488>>2]|0)>>>0){wa()}s=l+16|0;if((c[s>>2]|0)==(o|0)){c[s>>2]=g}else{c[l+20>>2]=g}if((g|0)==0){break}}if(g>>>0<(c[14488>>2]|0)>>>0){wa()}c[g+24>>2]=l;l=n|16;o=c[r+(l+p)>>2]|0;do{if((o|0)!=0){if(o>>>0<(c[14488>>2]|0)>>>0){wa()}else{c[g+16>>2]=o;c[o+24>>2]=g;break}}}while(0);l=c[r+(q+l)>>2]|0;if((l|0)!=0){if(l>>>0<(c[14488>>2]|0)>>>0){wa()}else{c[g+20>>2]=l;c[l+24>>2]=g;break}}}}else{q=c[r+((n|8)+p)>>2]|0;g=c[r+(p+12+n)>>2]|0;t=14512+(s<<1<<2)|0;if((q|0)!=(t|0)){if(q>>>0<(c[14488>>2]|0)>>>0){wa()}if((c[q+12>>2]|0)!=(o|0)){wa()}}if((g|0)==(q|0)){c[3618]=c[3618]&~(1<<s);break}if((g|0)!=(t|0)){if(g>>>0<(c[14488>>2]|0)>>>0){wa()}s=g+8|0;if((c[s>>2]|0)==(o|0)){l=s}else{wa()}}else{l=g+8|0}c[q+12>>2]=g;c[l>>2]=q}}while(0);o=r+((a|n)+p)|0;m=a+m|0}g=o+4|0;c[g>>2]=c[g>>2]&-2;c[r+(j+4)>>2]=m|1;c[r+(m+j)>>2]=m;g=m>>>3;if(m>>>0<256){l=g<<1;d=14512+(l<<2)|0;m=c[3618]|0;g=1<<g;if((m&g|0)!=0){l=14512+(l+2<<2)|0;g=c[l>>2]|0;if(g>>>0<(c[14488>>2]|0)>>>0){wa()}else{f=l;e=g}}else{c[3618]=m|g;f=14512+(l+2<<2)|0;e=d}c[f>>2]=k;c[e+12>>2]=k;c[r+(j+8)>>2]=e;c[r+(j+12)>>2]=d;break}e=m>>>8;if((e|0)!=0){if(m>>>0>16777215){e=31}else{G=(e+1048320|0)>>>16&8;H=e<<G;F=(H+520192|0)>>>16&4;H=H<<F;e=(H+245760|0)>>>16&2;e=14-(F|G|e)+(H<<e>>>15)|0;e=m>>>(e+7|0)&1|e<<1}}else{e=0}f=14776+(e<<2)|0;c[r+(j+28)>>2]=e;c[r+(j+20)>>2]=0;c[r+(j+16)>>2]=0;l=c[14476>>2]|0;g=1<<e;if((l&g|0)==0){c[14476>>2]=l|g;c[f>>2]=k;c[r+(j+24)>>2]=f;c[r+(j+12)>>2]=k;c[r+(j+8)>>2]=k;break}f=c[f>>2]|0;if((e|0)==31){e=0}else{e=25-(e>>>1)|0}i:do{if((c[f+4>>2]&-8|0)!=(m|0)){e=m<<e;while(1){g=f+(e>>>31<<2)+16|0;l=c[g>>2]|0;if((l|0)==0){break}if((c[l+4>>2]&-8|0)==(m|0)){d=l;break i}else{e=e<<1;f=l}}if(g>>>0<(c[14488>>2]|0)>>>0){wa()}else{c[g>>2]=k;c[r+(j+24)>>2]=f;c[r+(j+12)>>2]=k;c[r+(j+8)>>2]=k;break h}}else{d=f}}while(0);f=d+8|0;e=c[f>>2]|0;g=c[14488>>2]|0;if(d>>>0<g>>>0){wa()}if(e>>>0<g>>>0){wa()}else{c[e+12>>2]=k;c[f>>2]=k;c[r+(j+8)>>2]=e;c[r+(j+12)>>2]=d;c[r+(j+24)>>2]=0;break}}else{H=(c[14484>>2]|0)+m|0;c[14484>>2]=H;c[14496>>2]=k;c[r+(j+4)>>2]=H|1}}while(0);H=r+(h|8)|0;i=b;return H|0}e=14920|0;while(1){d=c[e>>2]|0;if(!(d>>>0>q>>>0)?(n=c[e+4>>2]|0,m=d+n|0,m>>>0>q>>>0):0){break}e=c[e+8>>2]|0}e=d+(n+ -39)|0;if((e&7|0)==0){e=0}else{e=0-e&7}d=d+(n+ -47+e)|0;d=d>>>0<(q+16|0)>>>0?q:d;e=d+8|0;f=r+8|0;if((f&7|0)==0){f=0}else{f=0-f&7}H=p+ -40-f|0;c[14496>>2]=r+f;c[14484>>2]=H;c[r+(f+4)>>2]=H|1;c[r+(p+ -36)>>2]=40;c[14500>>2]=c[14960>>2];c[d+4>>2]=27;c[e+0>>2]=c[14920>>2];c[e+4>>2]=c[14924>>2];c[e+8>>2]=c[14928>>2];c[e+12>>2]=c[14932>>2];c[14920>>2]=r;c[14924>>2]=p;c[14932>>2]=0;c[14928>>2]=e;e=d+28|0;c[e>>2]=7;if((d+32|0)>>>0<m>>>0){do{H=e;e=e+4|0;c[e>>2]=7}while((H+8|0)>>>0<m>>>0)}if((d|0)!=(q|0)){d=d-q|0;e=q+(d+4)|0;c[e>>2]=c[e>>2]&-2;c[q+4>>2]=d|1;c[q+d>>2]=d;e=d>>>3;if(d>>>0<256){f=e<<1;d=14512+(f<<2)|0;g=c[3618]|0;e=1<<e;if((g&e|0)!=0){f=14512+(f+2<<2)|0;e=c[f>>2]|0;if(e>>>0<(c[14488>>2]|0)>>>0){wa()}else{k=f;j=e}}else{c[3618]=g|e;k=14512+(f+2<<2)|0;j=d}c[k>>2]=q;c[j+12>>2]=q;c[q+8>>2]=j;c[q+12>>2]=d;break}e=d>>>8;if((e|0)!=0){if(d>>>0>16777215){e=31}else{G=(e+1048320|0)>>>16&8;H=e<<G;F=(H+520192|0)>>>16&4;H=H<<F;e=(H+245760|0)>>>16&2;e=14-(F|G|e)+(H<<e>>>15)|0;e=d>>>(e+7|0)&1|e<<1}}else{e=0}j=14776+(e<<2)|0;c[q+28>>2]=e;c[q+20>>2]=0;c[q+16>>2]=0;f=c[14476>>2]|0;g=1<<e;if((f&g|0)==0){c[14476>>2]=f|g;c[j>>2]=q;c[q+24>>2]=j;c[q+12>>2]=q;c[q+8>>2]=q;break}f=c[j>>2]|0;if((e|0)==31){e=0}else{e=25-(e>>>1)|0}j:do{if((c[f+4>>2]&-8|0)!=(d|0)){e=d<<e;while(1){j=f+(e>>>31<<2)+16|0;g=c[j>>2]|0;if((g|0)==0){break}if((c[g+4>>2]&-8|0)==(d|0)){h=g;break j}else{e=e<<1;f=g}}if(j>>>0<(c[14488>>2]|0)>>>0){wa()}else{c[j>>2]=q;c[q+24>>2]=f;c[q+12>>2]=q;c[q+8>>2]=q;break g}}else{h=f}}while(0);f=h+8|0;e=c[f>>2]|0;d=c[14488>>2]|0;if(h>>>0<d>>>0){wa()}if(e>>>0<d>>>0){wa()}else{c[e+12>>2]=q;c[f>>2]=q;c[q+8>>2]=e;c[q+12>>2]=h;c[q+24>>2]=0;break}}}else{H=c[14488>>2]|0;if((H|0)==0|r>>>0<H>>>0){c[14488>>2]=r}c[14920>>2]=r;c[14924>>2]=p;c[14932>>2]=0;c[14508>>2]=c[3736];c[14504>>2]=-1;d=0;do{H=d<<1;G=14512+(H<<2)|0;c[14512+(H+3<<2)>>2]=G;c[14512+(H+2<<2)>>2]=G;d=d+1|0}while((d|0)!=32);d=r+8|0;if((d&7|0)==0){d=0}else{d=0-d&7}H=p+ -40-d|0;c[14496>>2]=r+d;c[14484>>2]=H;c[r+(d+4)>>2]=H|1;c[r+(p+ -36)>>2]=40;c[14500>>2]=c[14960>>2]}}while(0);d=c[14484>>2]|0;if(d>>>0>a>>>0){G=d-a|0;c[14484>>2]=G;H=c[14496>>2]|0;c[14496>>2]=H+a;c[H+(a+4)>>2]=G|1;c[H+4>>2]=a|3;H=H+8|0;i=b;return H|0}}c[(ua()|0)>>2]=12;H=0;i=b;return H|0}function vb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=i;if((a|0)==0){i=b;return}q=a+ -8|0;r=c[14488>>2]|0;if(q>>>0<r>>>0){wa()}o=c[a+ -4>>2]|0;n=o&3;if((n|0)==1){wa()}j=o&-8;h=a+(j+ -8)|0;do{if((o&1|0)==0){u=c[q>>2]|0;if((n|0)==0){i=b;return}q=-8-u|0;o=a+q|0;n=u+j|0;if(o>>>0<r>>>0){wa()}if((o|0)==(c[14492>>2]|0)){d=a+(j+ -4)|0;if((c[d>>2]&3|0)!=3){d=o;m=n;break}c[14480>>2]=n;c[d>>2]=c[d>>2]&-2;c[a+(q+4)>>2]=n|1;c[h>>2]=n;i=b;return}t=u>>>3;if(u>>>0<256){d=c[a+(q+8)>>2]|0;m=c[a+(q+12)>>2]|0;p=14512+(t<<1<<2)|0;if((d|0)!=(p|0)){if(d>>>0<r>>>0){wa()}if((c[d+12>>2]|0)!=(o|0)){wa()}}if((m|0)==(d|0)){c[3618]=c[3618]&~(1<<t);d=o;m=n;break}if((m|0)!=(p|0)){if(m>>>0<r>>>0){wa()}p=m+8|0;if((c[p>>2]|0)==(o|0)){s=p}else{wa()}}else{s=m+8|0}c[d+12>>2]=m;c[s>>2]=d;d=o;m=n;break}s=c[a+(q+24)>>2]|0;t=c[a+(q+12)>>2]|0;do{if((t|0)==(o|0)){u=a+(q+20)|0;t=c[u>>2]|0;if((t|0)==0){u=a+(q+16)|0;t=c[u>>2]|0;if((t|0)==0){p=0;break}}while(1){w=t+20|0;v=c[w>>2]|0;if((v|0)!=0){t=v;u=w;continue}v=t+16|0;w=c[v>>2]|0;if((w|0)==0){break}else{t=w;u=v}}if(u>>>0<r>>>0){wa()}else{c[u>>2]=0;p=t;break}}else{u=c[a+(q+8)>>2]|0;if(u>>>0<r>>>0){wa()}r=u+12|0;if((c[r>>2]|0)!=(o|0)){wa()}v=t+8|0;if((c[v>>2]|0)==(o|0)){c[r>>2]=t;c[v>>2]=u;p=t;break}else{wa()}}}while(0);if((s|0)!=0){t=c[a+(q+28)>>2]|0;r=14776+(t<<2)|0;if((o|0)==(c[r>>2]|0)){c[r>>2]=p;if((p|0)==0){c[14476>>2]=c[14476>>2]&~(1<<t);d=o;m=n;break}}else{if(s>>>0<(c[14488>>2]|0)>>>0){wa()}r=s+16|0;if((c[r>>2]|0)==(o|0)){c[r>>2]=p}else{c[s+20>>2]=p}if((p|0)==0){d=o;m=n;break}}if(p>>>0<(c[14488>>2]|0)>>>0){wa()}c[p+24>>2]=s;r=c[a+(q+16)>>2]|0;do{if((r|0)!=0){if(r>>>0<(c[14488>>2]|0)>>>0){wa()}else{c[p+16>>2]=r;c[r+24>>2]=p;break}}}while(0);q=c[a+(q+20)>>2]|0;if((q|0)!=0){if(q>>>0<(c[14488>>2]|0)>>>0){wa()}else{c[p+20>>2]=q;c[q+24>>2]=p;d=o;m=n;break}}else{d=o;m=n}}else{d=o;m=n}}else{d=q;m=j}}while(0);if(!(d>>>0<h>>>0)){wa()}n=a+(j+ -4)|0;o=c[n>>2]|0;if((o&1|0)==0){wa()}if((o&2|0)==0){if((h|0)==(c[14496>>2]|0)){w=(c[14484>>2]|0)+m|0;c[14484>>2]=w;c[14496>>2]=d;c[d+4>>2]=w|1;if((d|0)!=(c[14492>>2]|0)){i=b;return}c[14492>>2]=0;c[14480>>2]=0;i=b;return}if((h|0)==(c[14492>>2]|0)){w=(c[14480>>2]|0)+m|0;c[14480>>2]=w;c[14492>>2]=d;c[d+4>>2]=w|1;c[d+w>>2]=w;i=b;return}m=(o&-8)+m|0;n=o>>>3;do{if(!(o>>>0<256)){l=c[a+(j+16)>>2]|0;q=c[a+(j|4)>>2]|0;do{if((q|0)==(h|0)){o=a+(j+12)|0;n=c[o>>2]|0;if((n|0)==0){o=a+(j+8)|0;n=c[o>>2]|0;if((n|0)==0){k=0;break}}while(1){p=n+20|0;q=c[p>>2]|0;if((q|0)!=0){n=q;o=p;continue}p=n+16|0;q=c[p>>2]|0;if((q|0)==0){break}else{n=q;o=p}}if(o>>>0<(c[14488>>2]|0)>>>0){wa()}else{c[o>>2]=0;k=n;break}}else{o=c[a+j>>2]|0;if(o>>>0<(c[14488>>2]|0)>>>0){wa()}p=o+12|0;if((c[p>>2]|0)!=(h|0)){wa()}n=q+8|0;if((c[n>>2]|0)==(h|0)){c[p>>2]=q;c[n>>2]=o;k=q;break}else{wa()}}}while(0);if((l|0)!=0){n=c[a+(j+20)>>2]|0;o=14776+(n<<2)|0;if((h|0)==(c[o>>2]|0)){c[o>>2]=k;if((k|0)==0){c[14476>>2]=c[14476>>2]&~(1<<n);break}}else{if(l>>>0<(c[14488>>2]|0)>>>0){wa()}n=l+16|0;if((c[n>>2]|0)==(h|0)){c[n>>2]=k}else{c[l+20>>2]=k}if((k|0)==0){break}}if(k>>>0<(c[14488>>2]|0)>>>0){wa()}c[k+24>>2]=l;h=c[a+(j+8)>>2]|0;do{if((h|0)!=0){if(h>>>0<(c[14488>>2]|0)>>>0){wa()}else{c[k+16>>2]=h;c[h+24>>2]=k;break}}}while(0);h=c[a+(j+12)>>2]|0;if((h|0)!=0){if(h>>>0<(c[14488>>2]|0)>>>0){wa()}else{c[k+20>>2]=h;c[h+24>>2]=k;break}}}}else{k=c[a+j>>2]|0;a=c[a+(j|4)>>2]|0;j=14512+(n<<1<<2)|0;if((k|0)!=(j|0)){if(k>>>0<(c[14488>>2]|0)>>>0){wa()}if((c[k+12>>2]|0)!=(h|0)){wa()}}if((a|0)==(k|0)){c[3618]=c[3618]&~(1<<n);break}if((a|0)!=(j|0)){if(a>>>0<(c[14488>>2]|0)>>>0){wa()}j=a+8|0;if((c[j>>2]|0)==(h|0)){l=j}else{wa()}}else{l=a+8|0}c[k+12>>2]=a;c[l>>2]=k}}while(0);c[d+4>>2]=m|1;c[d+m>>2]=m;if((d|0)==(c[14492>>2]|0)){c[14480>>2]=m;i=b;return}}else{c[n>>2]=o&-2;c[d+4>>2]=m|1;c[d+m>>2]=m}h=m>>>3;if(m>>>0<256){a=h<<1;e=14512+(a<<2)|0;j=c[3618]|0;h=1<<h;if((j&h|0)!=0){h=14512+(a+2<<2)|0;a=c[h>>2]|0;if(a>>>0<(c[14488>>2]|0)>>>0){wa()}else{f=h;g=a}}else{c[3618]=j|h;f=14512+(a+2<<2)|0;g=e}c[f>>2]=d;c[g+12>>2]=d;c[d+8>>2]=g;c[d+12>>2]=e;i=b;return}f=m>>>8;if((f|0)!=0){if(m>>>0>16777215){f=31}else{v=(f+1048320|0)>>>16&8;w=f<<v;u=(w+520192|0)>>>16&4;w=w<<u;f=(w+245760|0)>>>16&2;f=14-(u|v|f)+(w<<f>>>15)|0;f=m>>>(f+7|0)&1|f<<1}}else{f=0}g=14776+(f<<2)|0;c[d+28>>2]=f;c[d+20>>2]=0;c[d+16>>2]=0;a=c[14476>>2]|0;h=1<<f;a:do{if((a&h|0)!=0){g=c[g>>2]|0;if((f|0)==31){f=0}else{f=25-(f>>>1)|0}b:do{if((c[g+4>>2]&-8|0)!=(m|0)){f=m<<f;a=g;while(1){h=a+(f>>>31<<2)+16|0;g=c[h>>2]|0;if((g|0)==0){break}if((c[g+4>>2]&-8|0)==(m|0)){e=g;break b}else{f=f<<1;a=g}}if(h>>>0<(c[14488>>2]|0)>>>0){wa()}else{c[h>>2]=d;c[d+24>>2]=a;c[d+12>>2]=d;c[d+8>>2]=d;break a}}else{e=g}}while(0);g=e+8|0;f=c[g>>2]|0;h=c[14488>>2]|0;if(e>>>0<h>>>0){wa()}if(f>>>0<h>>>0){wa()}else{c[f+12>>2]=d;c[g>>2]=d;c[d+8>>2]=f;c[d+12>>2]=e;c[d+24>>2]=0;break}}else{c[14476>>2]=a|h;c[g>>2]=d;c[d+24>>2]=g;c[d+12>>2]=d;c[d+8>>2]=d}}while(0);w=(c[14504>>2]|0)+ -1|0;c[14504>>2]=w;if((w|0)==0){d=14928|0}else{i=b;return}while(1){d=c[d>>2]|0;if((d|0)==0){break}else{d=d+8|0}}c[14504>>2]=-1;i=b;return}function wb(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=i;f=a[b>>0]|0;e=a[c>>0]|0;if(f<<24>>24!=e<<24>>24|f<<24>>24==0|e<<24>>24==0){b=f;f=e;b=b&255;f=f&255;f=b-f|0;i=d;return f|0}do{b=b+1|0;c=c+1|0;f=a[b>>0]|0;e=a[c>>0]|0}while(!(f<<24>>24!=e<<24>>24|f<<24>>24==0|e<<24>>24==0));b=f&255;f=e&255;f=b-f|0;i=d;return f|0}function xb(){}function yb(b){b=b|0;var c=0;c=b;while(a[c>>0]|0){c=c+1|0}return c-b|0}function zb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;i=b&3;h=d|d<<8|d<<16|d<<24;g=f&~3;if(i){i=b+4-i|0;while((b|0)<(i|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=h;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function Ab(a){a=a|0;return(a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Bb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return oa(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if((e|0)==0)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function Cb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da[a&1](b|0,c|0,d|0)|0}function Db(a,b,c){a=a|0;b=b|0;c=c|0;Ea[a&1](b|0,c|0)}function Eb(a,b,c){a=a|0;b=b|0;c=c|0;return Fa[a&3](b|0,c|0)|0}function Fb(a,b,c){a=a|0;b=b|0;c=c|0;_(0);return 0}function Gb(a,b){a=a|0;b=b|0;_(1)}function Hb(a,b){a=a|0;b=b|0;_(2);return 0} var Da=[Fb,kb];var Ea=[Gb,lb];var Fa=[Hb,Ya,Za,_a];return{_strlen:yb,_free:vb,_main:Pa,_memset:zb,_malloc:ub,_memcpy:Bb,_llvm_bswap_i32:Ab,runPostSets:xb,stackAlloc:Ga,stackSave:Ha,stackRestore:Ia,setThrew:Ja,setTempRet0:Ma,getTempRet0:Na,dynCall_iiii:Cb,dynCall_vii:Db,dynCall_iii:Eb} })({Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array},{abort:F,assert:A,asmPrintInt:function(a,b){s.print("int "+a+","+b)},asmPrintFloat:function(a,b){s.print("float "+a+","+b)},min:sa,invoke_iiii:function(a,b,c,d){try{return s.dynCall_iiii(a,b,c,d)}catch(e){"number"!==typeof e&&"longjmp"!==e&&f(e),$.setThrew(1,0)}},invoke_vii:function(a, b,c){try{s.dynCall_vii(a,b,c)}catch(d){"number"!==typeof d&&"longjmp"!==d&&f(d),$.setThrew(1,0)}},invoke_iii:function(a,b,c){try{return s.dynCall_iii(a,b,c)}catch(d){"number"!==typeof d&&"longjmp"!==d&&f(d),$.setThrew(1,0)}},_send:function(a,b,c){return!Z.ac(a)?(bb(S.fa),-1):Yb(a,b,c)},___setErrNo:bb,___assert_fail:function(a,b,c,d){ja=l;f("Assertion failed: "+D(a)+", at: "+[b?D(b):"unknown filename",c,d?D(d):"unknown function"]+" at "+Ca())},_fflush:p(),_pwrite:function(a,b,c,d){a=W[a];if(!a)return bb(S.fa), -1;try{return Qb(a,L,b,c,d)}catch(e){return wb(e),-1}},_fprintf:dc,__reallyNegative:bc,_sbrk:vc,_emscripten_memcpy_big:function(a,b,c){O.set(O.subarray(b,b+c),a);return a},_fileno:Zb,_sysconf:function(a){switch(a){case 30:return 4096;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 79:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809; case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32; case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1E3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return 1}bb(S.u);return-1},_puts:function(a){var b=M[ob>>2],a=ec(a,b);return 0>a?a: 0>fc(10,b)?-1:a+1},_printf:function(a,b){return dc(M[ob>>2],a,b)},_write:Yb,___errno_location:function(){return ab},_fputc:fc,_abort:function(){s.abort()},_fwrite:$b,_time:function(a){var b=Math.floor(Date.now()/1E3);a&&(M[a>>2]=b);return b},_mkport:Xb,__formatString:cc,_fputs:ec,STACKTOP:x,STACK_MAX:Ha,tempDoublePtr:Za,ABORT:ja,NaN:NaN,Infinity:Infinity},Q),ac=s._strlen=$._strlen;s._free=$._free;s._main=$._main; var gc=s._memset=$._memset,Aa=s._malloc=$._malloc,xc=s._memcpy=$._memcpy,wc=s._llvm_bswap_i32=$._llvm_bswap_i32;s.runPostSets=$.runPostSets;s.dynCall_iiii=$.dynCall_iiii;s.dynCall_vii=$.dynCall_vii;s.dynCall_iii=$.dynCall_iii;z.Ua=$.stackAlloc;z.Wa=$.stackSave;z.Va=$.stackRestore;z.uc=$.setTempRet0;z.bc=$.getTempRet0;function zc(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}zc.prototype=Error(); var Ac,Bc=m,Wa=function Cc(){!s.calledRun&&Dc&&Ec([].concat(s.arguments));s.calledRun||(Wa=Cc)}; s.callMain=s.Be=function(a){function b(){for(var a=0;3>a;a++)d.push(0)}A(0==R,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");A(0==La.length,"cannot call main when preRun functions remain to be called");a=a||[];Qa||(Qa=l,Ka(Ma));var c=a.length+1,d=[N(K("/bin/this.program"),"i8",0)];b();for(var e=0;e<c-1;e+=1)d.push(N(K(a[e]),"i8",0)),b();d.push(0);d=N(d,"i32",0);Ac=x;try{var g=s._main(c,d,0);s.noExitRuntime||Fc(g)}catch(h){h instanceof zc||("SimulateInfiniteLoop"==h?s.noExitRuntime= l:(h&&("object"===typeof h&&h.stack)&&s.S("exception thrown: "+[h,h.stack]),f(h)))}finally{}}; function Ec(a){function b(){if(!s.calledRun){s.calledRun=l;Qa||(Qa=l,Ka(Ma));Ka(Na);ba&&Bc!==m&&s.S("pre-main prep time: "+(Date.now()-Bc)+" ms");s._main&&Dc&&s.callMain(a);if(s.postRun)for("function"==typeof s.postRun&&(s.postRun=[s.postRun]);s.postRun.length;)Sa(s.postRun.shift());Ka(Pa)}}a=a||s.arguments;Bc===m&&(Bc=Date.now());if(0<R)s.S("run() called, but dependencies remain, so not running");else{if(s.preRun)for("function"==typeof s.preRun&&(s.preRun=[s.preRun]);s.preRun.length;)Ra(s.preRun.shift()); Ka(La);!(0<R)&&!s.calledRun&&(s.setStatus?(s.setStatus("Running..."),setTimeout(function(){setTimeout(function(){s.setStatus("")},1);ja||b()},1)):b())}}s.run=s.af=Ec;function Fc(a){ja=l;x=Ac;Ka(Oa);f(new zc(a))}s.exit=s.Fe=Fc;function F(a){a&&(s.print(a),s.S(a));ja=l;f("abort() at "+Ca()+"\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.")}s.abort=s.abort=F;if(s.preInit)for("function"==typeof s.preInit&&(s.preInit=[s.preInit]);0<s.preInit.length;)s.preInit.pop()(); var Dc=l;s.noInitialRun&&(Dc=n);Ec([].concat(s.arguments));